private ReadOnlySpan <byte> CompressMessage(ReadOnlySpan <byte> messageData) { Debug.Assert(_compressionProvider != null, "Compression provider is not null to get here."); GrpcServerLog.CompressingMessage(_serverCallContext.Logger, _compressionProvider.EncodingName); var output = new NonDisposableMemoryStream(); // Compression stream must be disposed before its content is read. // GZipStream writes final Adler32 at the end of the stream on dispose. using (var compressionStream = _compressionProvider.CreateCompressionStream(output, _serverCallContext.Options.ResponseCompressionLevel)) { compressionStream.Write(messageData); } return(output.GetBuffer().AsSpan(0, (int)output.Length)); }
public void DoesNotWriteNameIfKindIsNotCustom() { var circumstanceToWrite = new InsulinCircumstance(); circumstanceToWrite.Kind = InsulinCircumstanceKind.Exercise; var storage = new InsulinCircumstanceBinaryStorage(); var stream = new NonDisposableMemoryStream(); var streamProvider = new Mock<BinaryStreamProvider>(); streamProvider.Setup(p => p.GetOutputStream(It.IsAny<string>())).Returns(new OutputStreamStub(stream)); storage.StreamProvider = streamProvider.Object; storage.Save(new List<InsulinCircumstance> { circumstanceToWrite }); stream.Position = 0; using (var reader = new StreamReader(stream)) { var result = reader.ReadToEnd(); Assert.IsFalse(result.Contains(Translations.Exercise)); } stream.Dispose(); }
private ReadOnlySpan <byte> CompressMessage(ReadOnlySpan <byte> messageData) { CompatibilityHelpers.Assert(_compressionProvider != null, "Compression provider is not null to get here."); GrpcCallLog.CompressingMessage(_call.Logger, _compressionProvider.EncodingName); var output = new NonDisposableMemoryStream(); // Compression stream must be disposed before its content is read. // GZipStream writes final Adler32 at the end of the stream on dispose. using (var compressionStream = _compressionProvider.CreateCompressionStream(output, CompressionLevel.Fastest)) { #if !NETSTANDARD2_0 compressionStream.Write(messageData); #else var array = messageData.ToArray(); compressionStream.Write(array, 0, array.Length); #endif } return(output.GetBuffer().AsSpan(0, (int)output.Length)); }