public DefaultChannelHandlerContext(DefaultChannelPipeline pipeline, IChannelHandlerInvoker invoker, string name,
     IChannelHandler handler)
     : base(pipeline, invoker, name, GetSkipPropagationFlags(handler))
 {
     Contract.Requires(handler != null);
     Handler = handler;
 }
Ejemplo n.º 2
0
        public void ChannelPipeline_should_invoke_HandlerRemoved_to_removed_handler()
        {
            var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
            var handler  = new AllEventsChannelHandler("test",
                                                       new[] { SupportedEvent.HandlerAdded, SupportedEvent.HandlerRemoved });

            // add handler to pipeline first
            pipeline.AddFirst(handler.Name, handler);
            var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue();

            // verify that handler added events fired correctly
            Assert.Equal(handler.Name, head.Item1);
            Assert.Equal(SupportedEvent.HandlerAdded, head.Item2);

            // remove handler from pipeline
            var removed = pipeline.RemoveFirst();

            Assert.Equal(handler, removed);

            // verify that handler removed event fired correctly
            var queue = new Queue <Tuple <string, SupportedEvent> >();

            ((NamedChannelHandler)removed).RecordLastFiredEvent(queue);
            Assert.Equal(SupportedEvent.HandlerRemoved, queue.Dequeue().Item2);
        }
Ejemplo n.º 3
0
        public void ChannelPipeline_should_start_with_head_and_tail_handlers()
        {
            var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
            var count    = pipeline.Count();

            Assert.Equal(2, count); // 1 for head, 1 for tail
        }
Ejemplo n.º 4
0
 ///// <summary>
 // /// Creates a new instance.
 // ///
 // /// @param parent
 // ///        the parent of this channel. {@code null} if there's no parent.
 // /// </summary>
 //protected AbstractChannel(IChannel parent)
 //    : this(DefaultChannelId.NewInstance())
 //{
 //}
 /// <summary>
 /// Creates a new instance.
 ///
 //* @param parent
 //*        the parent of this channel. {@code null} if there's no parent.
 /// </summary>
 protected AbstractChannel(IChannel parent /*, ChannelId id*/)
 {
     this.Parent = parent;
     //this.Id = id;
     this.channelUnsafe = this.NewUnsafe();
     this.pipeline = new DefaultChannelPipeline(this);
 }
Ejemplo n.º 5
0
 /// <summary>
 ///     Creates a new instance.
 ///     @param parent
 ///     the parent of this channel. {@code null} if there's no parent.
 /// </summary>
 protected AbstractChannel(IChannel parent)
 {
     this.Parent = parent;
     this.Id = this.NewId();
     this.channelUnsafe = this.NewUnsafe();
     this.pipeline = new DefaultChannelPipeline(this);
 }
Ejemplo n.º 6
0
        public void pipeline_addlast_test()
        {
            var pipeline = new DefaultChannelPipeline();

            var Context1 = new channelHandler1();
            var Context2 = new channelHandler2();

            //var Context3 = new ChannelHandler();
            //var Context4 = new ChannelHandler();
            //var Context5 = new ChannelHandler();

            pipeline.AddLast("", Context1);
            pipeline.AddLast("", Context2);
            //pipeline.AddLast(Context3);
            //pipeline.AddLast(Context4);
            //pipeline.AddLast(Context5);

            Assert.AreEqual(pipeline.Head, Context1);
            Assert.AreEqual(pipeline.Head.Next, Context2);
            //Assert.AreEqual(pipeline.Head.Next().Next(), Context3);
            //Assert.AreEqual(pipeline.Head.Next().Next().Next(), Context4);
            //Assert.AreEqual(pipeline.Head.Next().Next().Next().Next(), Context5);

            //pipeline.OnConnected();
            //pipeline.OnReceived(new ChannelMessage());

            Assert.IsTrue(true);
        }
 public void ChannelPipeline_should_add_item_to_head()
 {
     var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
     var namedChannel = new NamedChannelHandler("TEST");
     pipeline.AddFirst(namedChannel.Name, namedChannel);
     var count = pipeline.Count();
     Assert.Equal(3, count); // 1 for head, 1 for named channel, 1 for tail
 }
        public DefaultChannelHandlerContext(
            DefaultChannelPipeline pipeline, IEventExecutor executor, string name, IChannelHandler handler)
            : base(pipeline, executor, name, GetSkipPropagationFlags(handler))
        {
            Contract.Requires(handler != null);

            this.Handler = handler;
        }
 public void ChannelPipeline_should_invoke_HandlerAdded_to_recently_added_handler()
 {
     var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
     var handler = new AllEventsChannelHandler("test", new[] {SupportedEvent.HandlerAdded});
     pipeline.AddFirst(handler.Name, handler);
     var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue();
     Assert.Equal(handler.Name, head.Item1);
     Assert.Equal(SupportedEvent.HandlerAdded, head.Item2);
 }
Ejemplo n.º 10
0
 protected AbstractChannel(IChannelId id, IChannel parent)
 {
     Contract.Requires(id != null);
     Id = id;
     Parent = parent;
     // ReSharper disable once VirtualMemberCallInContructor
     _channelUnsafe = NewUnsafe();
     _pipeline = new DefaultChannelPipeline(this);
 }
Ejemplo n.º 11
0
        public void ChannelPipeline_should_add_item_to_head()
        {
            var pipeline     = new DefaultChannelPipeline(TestChannel.Instance);
            var namedChannel = new NamedChannelHandler("TEST");

            pipeline.AddFirst(namedChannel.Name, namedChannel);
            var count = pipeline.Count();

            Assert.Equal(3, count); // 1 for head, 1 for named channel, 1 for tail
        }
Ejemplo n.º 12
0
        public void ChannelPipeline_should_invoke_HandlerAdded_to_recently_added_handler()
        {
            var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
            var handler  = new AllEventsChannelHandler("test", new[] { SupportedEvent.HandlerAdded });

            pipeline.AddFirst(handler.Name, handler);
            var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue();

            Assert.Equal(handler.Name, head.Item1);
            Assert.Equal(SupportedEvent.HandlerAdded, head.Item2);
        }
        public void ChannelPipeline_should_invoke_HandlerRemoved_to_removed_handler()
        {
            var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
            var handler = new AllEventsChannelHandler("test",
                new[] {SupportedEvent.HandlerAdded, SupportedEvent.HandlerRemoved});

            // add handler to pipeline first
            pipeline.AddFirst(handler.Name, handler);
            var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue();

            // verify that handler added events fired correctly
            Assert.Equal(handler.Name, head.Item1);
            Assert.Equal(SupportedEvent.HandlerAdded, head.Item2);

            // remove handler from pipeline
            var removed = pipeline.RemoveFirst();
            Assert.Equal(handler, removed);

            // verify that handler removed event fired correctly
            var queue = new Queue<Tuple<string, SupportedEvent>>();
            ((NamedChannelHandler) removed).RecordLastFiredEvent(queue);
            Assert.Equal(SupportedEvent.HandlerRemoved, queue.Dequeue().Item2);
        }
 public void ChannelPipeline_should_start_with_head_and_tail_handlers()
 {
     var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
     var count = pipeline.Count();
     Assert.Equal(2, count); // 1 for head, 1 for tail
 }
 public async Task ChannelPipeline_with_no_handlers_should_not_throw_on_invocation()
 {
     var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
     await pipeline.BindAsync(null);
 }
Ejemplo n.º 16
0
 public DefaultChannelPipelinePendingBytesTracker(DefaultChannelPipeline pipeline)
     : base(pipeline.EstimatorHandle)
 {
     _pipeline = pipeline;
 }
        protected AbstractChannelHandlerContext(DefaultChannelPipeline pipeline, IChannelHandlerInvoker invoker,
            string name,
            int skipPropagationFlags)
        {
            Contract.Requires(pipeline != null);
            Contract.Requires(name != null);

            Pipeline = pipeline;
            _invoker = invoker;
            Name = name;
            SkipPropagationFlags = skipPropagationFlags;
        }
Ejemplo n.º 18
0
 public async Task ChannelPipeline_with_no_handlers_should_not_throw_on_invocation()
 {
     var pipeline = new DefaultChannelPipeline(TestChannel.Instance);
     await pipeline.BindAsync(null);
 }