public SerialPortMessageChannel(IByteStream byteStream, IMessageParserFactory messageParserFactoryFactory,
                                 IMessageEncoderFactory messageEncoderFactoryFactory)
 {
     _byteStream            = byteStream;
     _messageParserFactory  = messageParserFactoryFactory;
     _messageEncoderFactory = messageEncoderFactoryFactory;
 }
        public void Register(IMessageEncoderFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            _encoderFactories.Add(factory);
        }
        public void Register(IMessageEncoderFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            _encoderFactories.Add(factory);
        }
예제 #4
0
        public void AddMessageEncoder <TMessage>(IMessageEncoderFactory <TMessage> factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            Type messageType = typeof(TMessage);

            lock (_type2encoderFactory)
            {
                if (_type2encoderFactory.ContainsKey(messageType))
                {
                    throw new InvalidOperationException("The specified message type (" + messageType.Name
                                                        + ") is registered already.");
                }
                _type2encoderFactory[messageType] = factory;
            }
        }
예제 #5
0
 // methods
 public new IMessageEncoder<QueryMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return encoderFactory.GetQueryMessageEncoder();
 }
 // methods
 public new IMessageEncoder <KillCursorsMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetKillCursorsMessageEncoder());
 }
 // public methods
 /// <inheritdoc />
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetCommandMessageEncoder());
 }
 // public methods
 /// <inheritdoc />
 public IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetCommandResponseMessageEncoder());
 }
예제 #9
0
 protected abstract IMessageEncoder GetNonGenericEncoder(IMessageEncoderFactory encoderFactory);
예제 #10
0
 protected override IMessageEncoder GetNonGenericEncoder(IMessageEncoderFactory encoderFactory)
 {
     return GetEncoder(encoderFactory);
 }
 // methods
 /// <inheritdoc/>
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return encoderFactory.GetKillCursorsMessageEncoder();
 }
 // methods
 public new IMessageEncoder<KillCursorsMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return encoderFactory.GetKillCursorsMessageEncoder();
 }
 public void AddMessageEncoder <TMessage>(IMessageEncoderFactory <TMessage> factory)
 {
     this.encoder.AddMessageEncoder <TMessage>(factory);
 }
예제 #14
0
 // methods
 public IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(GetNonGenericEncoder(encoderFactory));
 }
예제 #15
0
 protected abstract IMessageEncoder GetNonGenericEncoder(IMessageEncoderFactory encoderFactory);
예제 #16
0
 // methods
 public new IMessageEncoder <QueryMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetQueryMessageEncoder());
 }
예제 #17
0
 // methods
 public new IMessageEncoder <UpdateMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetUpdateMessageEncoder());
 }
 // methods        
 /// <inheritdoc/>
 public abstract IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory);
 // methods
 /// <inheritdoc />
 public IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetReplyMessageEncoder <TDocument>(_documentSerializer));
 }
예제 #20
0
 // methods
 public new IMessageEncoder <GetMoreMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetGetMoreMessageEncoder());
 }
예제 #21
0
 // methods
 public new IMessageEncoder<UpdateMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return encoderFactory.GetUpdateMessageEncoder();
 }
예제 #22
0
 // methods
 /// <inheritdoc/>
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return encoderFactory.GetDeleteMessageEncoder();
 }
예제 #23
0
 // methods
 /// <inheritdoc/>
 public abstract IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory);
예제 #24
0
 // methods
 /// <inheritdoc/>
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetReplyMessageEncoder <TDocument>(_serializer));
 }
예제 #25
0
 // methods
 public new IMessageEncoder <InsertMessage <TDocument> > GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetInsertMessageEncoder <TDocument>(_serializer));
 }
예제 #26
0
 // public methods
 /// <inheritdoc />
 public IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetCompressedMessageEncoder(_originalEncoderSelector));
 }
예제 #27
0
 protected override IMessageEncoder GetNonGenericEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(GetEncoder(encoderFactory));
 }
예제 #28
0
 // methods
 public new IMessageEncoder <DeleteMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetDeleteMessageEncoder());
 }
예제 #29
0
 // methods
 /// <inheritdoc/>
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetGetMoreMessageEncoder());
 }
예제 #30
0
 /// <inheritdoc />
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetCompressedMessageEncoder(null));
 }
예제 #31
0
 // methods
 /// <inheritdoc/>
 public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return(encoderFactory.GetKillCursorsMessageEncoder());
 }
예제 #32
0
 // methods
 public IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
 {
     return GetNonGenericEncoder(encoderFactory);
 }