Exemple #1
0
        protected override void HandleEcFrame(SaiEcFrame ecFrame)
        {
            if (ecFrame.FrameType == SaiFrameType.EC_Start)
            {
                this.Context.RsspEP.DefenseTech = MessageDelayDefenseTech.EC;

                var strategy = new EcDefenseStrategy(this.Context.RsspEP.LocalID, this.Context.RsspEP.EcInterval);
                this.Context.DefenseStrategy = strategy;

                this.Context.CurrentState = new EcWaitingforStart1State(this.Context, strategy);
                this.Context.CurrentState.HandleFrame(ecFrame);
            }
            else
            {
                throw new Exception("SaiInvalideState状态时,收到的第一条帧不是ECStart。");
            }
        }
 public EcDisconnectedState(ISaiStateContext context, EcDefenseStrategy strategy)
     : base(context, strategy)
 {
 }
 public EcWaitingforStart1State(ISaiStateContext context, EcDefenseStrategy strategy)
     : base(context, strategy)
 {
 }
Exemple #4
0
 protected EcState(ISaiStateContext context, EcDefenseStrategy strategy)
     : base(context)
 {
     this.DefenseStrategy = strategy;
 }