コード例 #1
0
        /// <summary>
        /// TBD
        /// </summary>
        /// <param name="message">TBD</param>
        /// <returns>TBD</returns>
        public override Task <bool> ManagementCommand(object message)
        {
            if (message is All)
            {
                var all = message as All;
                _allMode = all.Mode;
                return(Task.FromResult(true));
            }

            if (message is One)
            {
                var one = message as One;
                //  don't care about the protocol part - we are injected in the stack anyway!
                addressChaosTable.AddOrUpdate(NakedAddress(one.RemoteAddress), address => one.Mode, (address, mode) => one.Mode);
                return(Task.FromResult(true));
            }

            return(WrappedTransport.ManagementCommand(message));
        }
コード例 #2
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="mode">TBD</param>
 public All(IGremlinMode mode)
 {
     Mode = mode;
 }
コード例 #3
0
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="remoteAddress">TBD</param>
 /// <param name="mode">TBD</param>
 public One(Address remoteAddress, IGremlinMode mode)
 {
     Mode          = mode;
     RemoteAddress = remoteAddress;
 }
コード例 #4
0
 public One(Address remoteAddress, IGremlinMode mode)
 {
     Mode = mode;
     RemoteAddress = remoteAddress;
 }
コード例 #5
0
 public All(IGremlinMode mode)
 {
     Mode = mode;
 }
コード例 #6
0
        public override Task<bool> ManagementCommand(object message)
        {
            if (message is All)
            {
                var all = message as All;
                _allMode = all.Mode;
                return Task.FromResult(true);
            }
            
            if (message is One)
            {
                var one = message as One;
                //  don't care about the protocol part - we are injected in the stack anyway!
                addressChaosTable.AddOrUpdate(NakedAddress(one.RemoteAddress), address => one.Mode, (address, mode) => one.Mode);
                return Task.FromResult(true);
            }

            return WrappedTransport.ManagementCommand(message);
        }