Ejemplo n.º 1
0
        private static SeekToEndStreamPayload ParseSeekToEndResponseBody([NotNull] Response response)
        {
            var reader = new BinaryBufferReader(response.Content.Buffer, response.Content.Offset)
            {
                Endianness = Endianness.Big
            };

            var coordinates = StreamCoordinatesReader.Read(reader);

            return(new SeekToEndStreamPayload(coordinates));
        }
Ejemplo n.º 2
0
        private static void TestSerialization(StreamCoordinates coordinates)
        {
            var writer = new BinaryBufferWriter(1)
            {
                Endianness = Endianness.Big
            };

            StreamCoordinatesWriter.Write(coordinates, writer);

            var reader = new BinaryBufferReader(writer.Buffer, 0)
            {
                Endianness = Endianness.Big
            };

            StreamCoordinatesReader.Read(reader).Should().BeEquivalentTo(coordinates);
        }
Ejemplo n.º 3
0
        private RawReadStreamPayload ParseReadResponseBody([NotNull] Response response)
        {
            try
            {
                var reader = new BinaryBufferReader(response.Content.Buffer, response.Content.Offset)
                {
                    Endianness = Endianness.Big
                };

                var coordinates = StreamCoordinatesReader.Read(reader);

                var content = new ValueDisposable <ArraySegment <byte> >(
                    new ArraySegment <byte>(response.Content.Buffer, (int)reader.Position, (int)(response.Content.Length - reader.Position)),
                    new ActionDisposable(() => bufferPool.Return(response.Content.Buffer)));

                return(new RawReadStreamPayload(content, coordinates));
            }
            catch (Exception)
            {
                bufferPool.Return(response.Content.Buffer);
                throw;
            }
        }