Example #1
0
        private void InvokeRead(IByteBuffer byteBuffer, int size, Exception error = null, bool completed = false)
        {
            if ((uint)(size - 1) > SharedConstants.TooBigOrNegative) // <= 0
            {
                byteBuffer.Release();
            }

            ReadableBuffer buffer = size > 0
                ? new ReadableBuffer(byteBuffer, size)
                : ReadableBuffer.Empty;

            var completion = new StreamReadCompletion(ref buffer, error, completed);

            try
            {
                _streamConsumer?.Consume(_streamHandle, completion);
            }
            catch (Exception exception)
            {
                Log.Pipeline_Exception_whilst_invoking_read_callback(exception);
            }
            finally
            {
                completion.Dispose();
            }
        }
Example #2
0
        void InvokeRead(IArrayBuffer <byte> byteBuffer, int size, Exception error = null, bool completed = false)
        {
            if (size == 0)
            {
                byteBuffer?.Release();
            }

            ReadableBuffer buffer = byteBuffer != null && size > 0
                ? new ReadableBuffer(byteBuffer, size)
                : ReadableBuffer.Empty;

            var completion = new StreamReadCompletion(ref buffer, error, completed);

            try
            {
                this.streamConsumer?.Consume(this.streamHandle, completion);
            }
            catch (Exception exception)
            {
                Log.Warn($"{nameof(Pipeline)} Exception whilst invoking read callback.", exception);
            }
            finally
            {
                completion.Dispose();
            }
        }
Example #3
0
        void InvokeRead(ByteBuffer byteBuffer, int size, Exception error = null, bool completed = false)
        {
            ReadableBuffer buffer     = byteBuffer?.ToReadableBuffer(size) ?? ReadableBuffer.Empty;
            var            completion = new StreamReadCompletion(ref buffer, error, completed);

            try
            {
                this.streamConsumer?.Consume(this.streamHandle, completion);
            }
            catch (Exception exception)
            {
                Log.Warn($"{nameof(Pipeline)} Exception whilst invoking read callback.", exception);
            }
            finally
            {
                completion.Dispose();
            }
        }