Esempio n. 1
0
 public static ZoneSpecification from(
     ZoneSpecification other,
     HandleUncaughtErrorHandler handleUncaughtError = null,
     RunHandler run             = null,
     RunUnaryHandler runUnary   = null,
     RunBinaryHandler runBinary = null,
     RegisterCallbackHandler registerCallback             = null,
     RegisterUnaryCallbackHandler registerUnaryCallback   = null,
     RegisterBinaryCallbackHandler registerBinaryCallback = null,
     ErrorCallbackHandler errorCallback             = null,
     ScheduleMicrotaskHandler scheduleMicrotask     = null,
     CreateTimerHandler createTimer                 = null,
     CreatePeriodicTimerHandler createPeriodicTimer = null,
     PrintHandler print = null,
     ForkHandler fork   = null)
 {
     return(new ZoneSpecification(
                handleUncaughtError: handleUncaughtError ?? other.handleUncaughtError,
                run: run ?? other.run,
                runUnary: runUnary ?? other.runUnary,
                runBinary: runBinary ?? other.runBinary,
                registerCallback: registerCallback ?? other.registerCallback,
                registerUnaryCallback:
                registerUnaryCallback ?? other.registerUnaryCallback,
                registerBinaryCallback:
                registerBinaryCallback ?? other.registerBinaryCallback,
                errorCallback: errorCallback ?? other.errorCallback,
                scheduleMicrotask: scheduleMicrotask ?? other.scheduleMicrotask,
                createTimer: createTimer ?? other.createTimer,
                createPeriodicTimer: createPeriodicTimer ?? other.createPeriodicTimer,
                print: print ?? other.print,
                fork: fork ?? other.fork
                ));
 }
Esempio n. 2
0
 public ZoneSpecification(
     HandleUncaughtErrorHandler handleUncaughtError = null,
     RunHandler run             = null,
     RunUnaryHandler runUnary   = null,
     RunBinaryHandler runBinary = null,
     RegisterCallbackHandler registerCallback             = null,
     RegisterUnaryCallbackHandler registerUnaryCallback   = null,
     RegisterBinaryCallbackHandler registerBinaryCallback = null,
     ErrorCallbackHandler errorCallback             = null,
     ScheduleMicrotaskHandler scheduleMicrotask     = null,
     CreateTimerHandler createTimer                 = null,
     CreatePeriodicTimerHandler createPeriodicTimer = null,
     PrintHandler print = null,
     ForkHandler fork   = null)
 {
     this.handleUncaughtError = handleUncaughtError;
     this.run                    = run;
     this.runUnary               = runUnary;
     this.runBinary              = runBinary;
     this.registerCallback       = registerCallback;
     this.registerUnaryCallback  = registerUnaryCallback;
     this.registerBinaryCallback = registerBinaryCallback;
     this.errorCallback          = errorCallback;
     this.scheduleMicrotask      = scheduleMicrotask;
     this.createTimer            = createTimer;
     this.createPeriodicTimer    = createPeriodicTimer;
     this.print                  = print;
     this.fork                   = fork;
 }
Esempio n. 3
0
        public override Zone fork(ZoneSpecification specification = null, Hashtable zoneValues = null)
        {
            var          implementation = _fork;
            ZoneDelegate parentDelegate = async_._parentDelegate(implementation.zone);
            ForkHandler  handler        = implementation.function;

            return(handler(implementation.zone, parentDelegate, this, specification, zoneValues));
        }
Esempio n. 4
0
        public Zone fork(Zone zone, ZoneSpecification specification, Hashtable zoneValues)
        {
            var         implementation = _delegationTarget._fork;
            _Zone       implZone       = implementation.zone;
            ForkHandler handler        = implementation.function;

            return(handler(
                       implZone, async_._parentDelegate(implZone), zone, specification, zoneValues));
        }
Esempio n. 5
0
        public SgfBuilder Fork(ForkHandler handler)
        {
            var fork = new SgfBuilder();

            handler(fork);
            _cursor.AddNode(fork.ToSgfTree());

            return(this);
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            IBus bus = new AzureBus();

            IMovieBookingService       movieBookingService   = new MovieBookingService(bus);
            ICommonWorkflowService     commonWorkflowService = new CommonWorkflowService(bus);
            IStateMachineMapper        stateMachineMapper    = new StateMachineMapper(bus, commonWorkflowService);
            WorkflowInstanceRepository instanceRepository    = new WorkflowInstanceRepository();

            SmsHandler  smsHandler  = new SmsHandler(stateMachineMapper, bus, instanceRepository);
            ForkHandler forkHandler = new ForkHandler(instanceRepository, stateMachineMapper);
            DisambiguateMovieBookingHandler disambiguateHandler = new DisambiguateMovieBookingHandler(instanceRepository, stateMachineMapper);

            bus.Subscribe <SmsReceived>("workflow-service", smsHandler.Handle);
            bus.Subscribe <ForkFinished>("workflow-service", forkHandler.Handle);

            bus.Subscribe <StartDisambiguateMovieBooking>("workflow-service", disambiguateHandler.Handle);
            bus.Subscribe <DisambiguateMovieBookingFinished>("workflow-service", disambiguateHandler.Handle);

            Console.ReadKey();
        }