/*
         * ITimeoutListener Interface Implementation
         */
        public override void ActionTimedout(ActionProperties ap)
        {
            int actionID;
            DifundPublishEventProperties p = (DifundPublishEventProperties)ap;

            actionID = GetActionIDTS(p.Id);
            IncMissedACKs(p.TargetSite, p.TargetEntity);
            FMPublishEventRetransmission(p.E, p.TargetSite, p.OutSeqNumber, actionID, p.Id);
        }
 public override void ActionTimedout(ActionProperties ap)
 {
     DifundPublishEventProperties p = (DifundPublishEventProperties) ap;
     IncMissedACKs(p.TargetSite, p.TargetEntity);
     this.Events.Produce(new ForwardPublishCommand(p.E, RemoteEntity.RemoteNetwork.SiteName, p.E.EventNr));
 }
 public abstract void ActionTimedout(ActionProperties properties);
        public void ActionTimedout(ActionProperties properties)
        {
            Console.WriteLine("[INFO] Main Server Failed");

            if (properties.GetType() == typeof(WaitHearthBeat))
            {
                broker.PEventManager.PublishStoredEvents(this.storedEvents);
                if(broker.Sequencer.CheckIfPassiveSequencer())
                {
                    broker.Sequencer.DifundUnprocessedMessages();
                }
            }

            this.storedEvents = new List<StoredEvent>();
        }
 private void PerformTimeoutAlert(ActionProperties ap)
 {
     if (ap.GetType() == typeof(DifundPublishEventProperties))
     {
         DifundPublishEventProperties dp = (DifundPublishEventProperties)ap;
         this.MainEntity.ActionTimedout(dp);
     }
     else if (ap.GetType() == typeof(WaitHearthBeat))
     {
         WaitHearthBeat sp = (WaitHearthBeat)ap;
         this.MainEntity.ActionTimedout(sp);
     }
 }