예제 #1
0
 public IEnumerator ClearAllFlag(string name, string[] args)
 {
     Flags.Clear();
     SkipFlags.Clear();
     AreaFlags.Clear();
     yield break;
 }
        protected AbstractChannelHandlerContext(DefaultChannelPipeline pipeline, IEventExecutor executor,
                                                string name, SkipFlags skipPropagationDirections)
        {
            Contract.Requires(pipeline != null);
            Contract.Requires(name != null);

            this.pipeline             = pipeline;
            this.Name                 = name;
            this.executor             = executor;
            this.SkipPropagationFlags = skipPropagationDirections;
        }
예제 #3
0
 protected override void Update()
 {
     base.Update();
     if (Wyte.IsDebugMode && Input.GetKeyDown(KeyCode.F4))
     {
         Flags.Clear();
         SkipFlags.Clear();
         AreaFlags.Clear();
         Debug.Log("<color=yellow>フラグを削除しました.</color>", this);
     }
 }
예제 #4
0
 public static IEnumerable <String> ToSequence(this SkipFlags flags)
 {
     if ((flags & SkipFlags.TypeCheck) != 0)
     {
         yield return("typecheck");
     }
     if ((flags & SkipFlags.RangeCheck) != 0)
     {
         yield return("rangecheck");
     }
     if ((flags & SkipFlags.NullCheck) != 0)
     {
         yield return("nullcheck");
     }
 }
        protected static SkipFlags CalculateSkipPropagationFlags(Type handlerType)
        {
            SkipFlags flags = 0;

            // this method should never throw
            if (IsSkippable(handlerType, nameof(IChannelHandler.HandlerAdded)))
            {
                flags |= SkipFlags.HandlerAdded;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.HandlerRemoved)))
            {
                flags |= SkipFlags.HandlerRemoved;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ExceptionCaught), typeof(Exception)))
            {
                flags |= SkipFlags.ExceptionCaught;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelRegistered)))
            {
                flags |= SkipFlags.ChannelRegistered;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelUnregistered)))
            {
                flags |= SkipFlags.ChannelUnregistered;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelActive)))
            {
                flags |= SkipFlags.ChannelActive;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelInactive)))
            {
                flags |= SkipFlags.ChannelInactive;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelRead), typeof(object)))
            {
                flags |= SkipFlags.ChannelRead;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelReadComplete)))
            {
                flags |= SkipFlags.ChannelReadComplete;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ChannelWritabilityChanged)))
            {
                flags |= SkipFlags.ChannelWritabilityChanged;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.UserEventTriggered), typeof(object)))
            {
                flags |= SkipFlags.UserEventTriggered;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.BindAsync), typeof(EndPoint)))
            {
                flags |= SkipFlags.Bind;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.ConnectAsync), typeof(EndPoint), typeof(EndPoint)))
            {
                flags |= SkipFlags.Connect;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.DisconnectAsync)))
            {
                flags |= SkipFlags.Disconnect;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.CloseAsync)))
            {
                flags |= SkipFlags.Close;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.DeregisterAsync)))
            {
                flags |= SkipFlags.Deregister;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.Read)))
            {
                flags |= SkipFlags.Read;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.WriteAsync), typeof(object)))
            {
                flags |= SkipFlags.Write;
            }
            if (IsSkippable(handlerType, nameof(IChannelHandler.Flush)))
            {
                flags |= SkipFlags.Flush;
            }
            return(flags);
        }