C# Класс ExternalDelayingExplorer.RunToCompletionDelayingScheduler

Наследование: Microsoft.Zing.ZingerDelayingScheduler
Показать файл Открыть проект

Открытые методы

Метод Описание
Delay ( ZingerSchedulerState zSchedState ) : void

Move the process on top of stack to the bottom of the stack. Moving the process to the bottom of the stack deviates the scheduler from following the casual order of events (RTC strategy).

Finish ( ZingerSchedulerState zSchedState, int processId ) : void

Remove the completed process from Stack so that it is never scheduled again.

MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool

This function is used internally by the ZING explorer. It checks if we have applied the maximum number of delays in the current state. Applying any more delay operations will not lead to new transitions/states being explored. Maximum delay operations for a state is always (totalEnabledProcesses - 1).

Next ( ZingerSchedulerState zSchedState ) : int

Return process at the top of stack. This process is executed next and follows the deterministic schedule.

OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void

This function is called when a process is blocked. In the context of asynchronous message passing programs, a process is blocked when its queue is empty and the process is waiting for an event. The process that gets blocked is poped off the stack.

OnEnabled ( ZingerSchedulerState ZSchedulerState, int targetSM, int sourceSM ) : void

This function is called when an enqueue is performed on a process, hence it has a pending event to be serviced.

RunToCompletionDelayingScheduler ( ) : System
Start ( ZingerSchedulerState zSchedState, int processId ) : void

Push newly created process on top of Stack

ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void

This function is provided for extending or customizing the delayingExplorer.

Описание методов

Delay() публичный Метод

Move the process on top of stack to the bottom of the stack. Moving the process to the bottom of the stack deviates the scheduler from following the casual order of events (RTC strategy).
public Delay ( ZingerSchedulerState zSchedState ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
Результат void

Finish() публичный Метод

Remove the completed process from Stack so that it is never scheduled again.
public Finish ( ZingerSchedulerState zSchedState, int processId ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
processId int Process id to be removed from the stack
Результат void

MaxDelayReached() публичный Метод

This function is used internally by the ZING explorer. It checks if we have applied the maximum number of delays in the current state. Applying any more delay operations will not lead to new transitions/states being explored. Maximum delay operations for a state is always (totalEnabledProcesses - 1).
public MaxDelayReached ( ZingerSchedulerState zSchedState ) : bool
zSchedState Microsoft.Zing.ZingerSchedulerState
Результат bool

Next() публичный Метод

Return process at the top of stack. This process is executed next and follows the deterministic schedule.
public Next ( ZingerSchedulerState zSchedState ) : int
zSchedState Microsoft.Zing.ZingerSchedulerState
Результат int

OnBlocked() публичный Метод

This function is called when a process is blocked. In the context of asynchronous message passing programs, a process is blocked when its queue is empty and the process is waiting for an event. The process that gets blocked is poped off the stack.
public OnBlocked ( ZingerSchedulerState ZSchedulerState, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
sourceSM int This parameter is passed for debugging purposes
Результат void

OnEnabled() публичный Метод

This function is called when an enqueue is performed on a process, hence it has a pending event to be serviced.
public OnEnabled ( ZingerSchedulerState ZSchedulerState, int targetSM, int sourceSM ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
targetSM int targetSM is the target process in which the event was enqueued. /// This process is pushed on top of the stack to follow event enqueue order.
sourceSM int This parameter is passed for debugging purposes
Результат void

RunToCompletionDelayingScheduler() публичный Метод

public RunToCompletionDelayingScheduler ( ) : System
Результат System

Start() публичный Метод

Push newly created process on top of Stack
public Start ( ZingerSchedulerState zSchedState, int processId ) : void
zSchedState Microsoft.Zing.ZingerSchedulerState
processId int process Id of the newly created process
Результат void

ZingerOperation() публичный Метод

This function is provided for extending or customizing the delayingExplorer.
public ZingerOperation ( ZingerSchedulerState ZSchedulerState ) : void
ZSchedulerState Microsoft.Zing.ZingerSchedulerState
Результат void