public UdpChannelListener(TransportBindingElement bindingElement, BindingContext context)
        {
            _BufferManager = BufferManager.CreateBufferManager(bindingElement.MaxBufferPoolSize, ExDefaultValue.MaxBufferSize);
            var me = context.BindingParameters.Find <MessageEncodingBindingElement>();

            if (me != null)
            {
                _MessageEncoderFactory = me.CreateMessageEncoderFactory();
            }

            _ChannelQueue             = new ExQueue <IInputChannel>();
            _CurrentChannelLockObject = new object();
            _Sockets = new List <Socket>(2);
            initializeUri(context);
        }
Пример #2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="channelManager">信道管理器</param>
 /// <param name="innerChannel">内部信道</param>
 public UdpInputChannel(UdpChannelListener channelManager)
     : base(channelManager)
 {
     _MessageQueue = new ExQueue <Message>();
     _Encoder      = channelManager.MessageEncoderFactory.Encoder;
 }