Ejemplo n.º 1
0
        public virtual IEnumerator <ITask> SubscribeHandler(drive.Subscribe subscribe)
        {
            yield return(Arbiter.Choice(
                             SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort),
                             delegate(SuccessResult success)
            {
                SendNotification <drive.Update>(_subMgrPort, subscribe.Body.Subscriber, _state);
            },
                             null
                             ));

            yield break;
        }
        public IEnumerator <ITask> SubscribeHandler(diffdrive.Subscribe subscribe)
        {
            Activate(Arbiter.Choice(
                         SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort),
                         delegate(SuccessResult success)
            {
                _subMgrPort.Post(new submgr.Submit(
                                     subscribe.Body.Subscriber, DsspActions.UpdateRequest, _state, null));
            },
                         delegate(Exception ex) { LogError(ex); }
                         ));

            yield break;
        }
Ejemplo n.º 3
0
 public IEnumerator <ITask> SubscribeHandler(drive.Subscribe subscribe)
 {
     yield return(Arbiter.Choice(
                      SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort),
                      delegate(SuccessResult success)
     {
         Update update = new Update(_state);
         SendNotificationToTarget <Update>(subscribe.Body.Subscriber, _subMgrPort, update);
     },
                      delegate(Exception ex)
     {
         LogError(ex);
         throw ex;
     }
                      ));
 }