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)); }
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); }
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; } }