FixedLengthJsonContent.cs 741 B

12345678910111213141516171819202122232425262728293031
  1. using System.Text.Json;
  2. using GenHTTP.Api.Protocol;
  3. using Benchmarks.Tests;
  4. namespace Benchmarks.Utilities;
  5. public sealed class FixedLengthJsonContent : IResponseContent
  6. {
  7. private readonly MemoryStream _buffer = new(27);
  8. public ulong? Length => (ulong)_buffer.Length;
  9. public FixedLengthJsonContent(JsonResult result)
  10. {
  11. JsonSerializer.Serialize(_buffer, result);
  12. }
  13. public ValueTask<ulong?> CalculateChecksumAsync() => throw new NotImplementedException();
  14. public ValueTask WriteAsync(Stream target, uint bufferSize)
  15. {
  16. _buffer.Seek(0, SeekOrigin.Begin);
  17. _buffer.CopyTo(target);
  18. return ValueTask.CompletedTask;
  19. }
  20. }