Ejemplo n.º 1
0
 public WrxCommandServer(
     IAsyncSimpleInputStream <byte> requestStream,
     IAsyncSimpleOutputStream <byte> responseStream,
     IAsyncWrxCommandHandler commandHandler,
     bool doNotDisposeRequestStream  = false,
     bool doNotDisposeResponseStream = false) :
     this(
         new WrxPacketReader(requestStream, doNotDisposeRequestStream),
         new WrxPacketWriter(responseStream, doNotDisposeResponseStream),
         commandHandler,
         ArrayPool <byte> .Shared)
 {
 }
Ejemplo n.º 2
0
 public WrxCommandServer(
     IPacketReader <WrxPacket> requestReader,
     IPacketWriter <WrxPacket> responseWriter,
     IAsyncWrxCommandHandler commandHandler,
     bool doNotDisposeRequestReader  = false,
     bool doNotDisposeResponseWriter = false) :
     this(
         requestReader,
         responseWriter,
         commandHandler,
         ArrayPool <byte> .Shared,
         doNotDisposeRequestReader,
         doNotDisposeResponseWriter)
 {
 }
Ejemplo n.º 3
0
        public WrxCommandServer(
            IPacketReader <WrxPacket> requestReader,
            IPacketWriter <WrxPacket> responseWriter,
            IAsyncWrxCommandHandler commandHandler,
            ArrayPool <byte> byteArrayPool,
            bool doNotDisposeRequestReader  = false,
            bool doNotDisposeResponseWriter = false)
        {
            _requestReader  = AsyncDisposableArg.Create(requestReader, doNotDisposeRequestReader);
            _responseWriter = AsyncDisposableArg.Create(responseWriter, doNotDisposeResponseWriter);
            _commandHandler = commandHandler;
            _byteArrayPool  = byteArrayPool;

            _disposePacketCallback = state =>
            {
                if (state is byte[] array)
                {
                    _byteArrayPool.Return(array);
                }
            };
        }