public DefaultChannelHandlerContext(DefaultChannelPipeline pipeline, IChannelHandlerInvoker invoker, string name, IChannelHandler handler) : base(pipeline, invoker, name, GetSkipPropagationFlags(handler)) { Contract.Requires(handler != null); Handler = handler; }
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 }
///// <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); }
/// <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); }
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); }
protected AbstractChannel(IChannelId id, IChannel parent) { Contract.Requires(id != null); Id = id; Parent = parent; // ReSharper disable once VirtualMemberCallInContructor _channelUnsafe = NewUnsafe(); _pipeline = new DefaultChannelPipeline(this); }
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 async Task ChannelPipeline_with_no_handlers_should_not_throw_on_invocation() { var pipeline = new DefaultChannelPipeline(TestChannel.Instance); await pipeline.BindAsync(null); }
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; }