From 01dc37f5a008640efe1fb183276bca659c4b9b76 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Wed, 17 Apr 2024 13:50:19 -0600 Subject: [PATCH] Add .NET 6 target This doesn't unlock any scenarios, but it does allow dropping of the explicit `System.Runtime.CompilerServices.Unsafe` dependency for such programs. --- src/Nerdbank.Streams/FullDuplexStream.cs | 4 +- .../MultiplexingStream.Channel.cs | 2 +- src/Nerdbank.Streams/Nerdbank.Streams.csproj | 4 +- src/Nerdbank.Streams/Substream.cs | 2 +- .../net6.0/PublicAPI.Shipped.txt | 305 ++++++++++++++++++ .../net6.0/PublicAPI.Unshipped.txt | 2 + 6 files changed, 313 insertions(+), 6 deletions(-) create mode 100644 src/Nerdbank.Streams/net6.0/PublicAPI.Shipped.txt create mode 100644 src/Nerdbank.Streams/net6.0/PublicAPI.Unshipped.txt diff --git a/src/Nerdbank.Streams/FullDuplexStream.cs b/src/Nerdbank.Streams/FullDuplexStream.cs index 7d61f6aa..690b1be0 100644 --- a/src/Nerdbank.Streams/FullDuplexStream.cs +++ b/src/Nerdbank.Streams/FullDuplexStream.cs @@ -143,10 +143,10 @@ public override Task WriteAsync(byte[] buffer, int offset, int count, Cancellati public override void WriteByte(byte value) => this.writableStream.WriteByte(value); - public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state) + public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state) => this.readableStream.BeginRead(buffer, offset, count, callback, state); - public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state) + public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state) => this.writableStream.BeginWrite(buffer, offset, count, callback, state); public override int EndRead(IAsyncResult asyncResult) => this.readableStream.EndRead(asyncResult); diff --git a/src/Nerdbank.Streams/MultiplexingStream.Channel.cs b/src/Nerdbank.Streams/MultiplexingStream.Channel.cs index 9f15c365..f2866f32 100644 --- a/src/Nerdbank.Streams/MultiplexingStream.Channel.cs +++ b/src/Nerdbank.Streams/MultiplexingStream.Channel.cs @@ -368,7 +368,7 @@ internal void Dispose(Exception? disposeException) { try { - Channel self = (Channel)state; + Channel self = (Channel)state!; PipeWriter? mxStreamIOWriter; lock (self.SyncObject) diff --git a/src/Nerdbank.Streams/Nerdbank.Streams.csproj b/src/Nerdbank.Streams/Nerdbank.Streams.csproj index 51ec867e..c6b4366b 100644 --- a/src/Nerdbank.Streams/Nerdbank.Streams.csproj +++ b/src/Nerdbank.Streams/Nerdbank.Streams.csproj @@ -1,6 +1,6 @@  - netstandard2.0;netstandard2.1 + net6.0;netstandard2.0;netstandard2.1 $(DefineConstants);MESSAGEPACK_INTERNAL;CSHARP8 Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc. @@ -15,7 +15,7 @@ - + diff --git a/src/Nerdbank.Streams/Substream.cs b/src/Nerdbank.Streams/Substream.cs index 003664d8..8e6b9f39 100644 --- a/src/Nerdbank.Streams/Substream.cs +++ b/src/Nerdbank.Streams/Substream.cs @@ -64,7 +64,7 @@ public override long Position /// public -#if NETSTANDARD2_1_OR_GREATER +#if NETSTANDARD2_1_OR_GREATER || NET6_0_OR_GREATER new // https://github.com/dotnet/csharplang/issues/3613: There's no way to *override* the base method without a binary breaking change from changing the return type on this method. #endif Task DisposeAsync() => this.DisposeAsync(CancellationToken.None).AsTask(); diff --git a/src/Nerdbank.Streams/net6.0/PublicAPI.Shipped.txt b/src/Nerdbank.Streams/net6.0/PublicAPI.Shipped.txt new file mode 100644 index 00000000..65e64846 --- /dev/null +++ b/src/Nerdbank.Streams/net6.0/PublicAPI.Shipped.txt @@ -0,0 +1,305 @@ +#nullable enable +Nerdbank.Streams.BufferTextWriter +Nerdbank.Streams.BufferTextWriter.BufferTextWriter() -> void +Nerdbank.Streams.BufferTextWriter.BufferTextWriter(System.Buffers.IBufferWriter! bufferWriter, System.Text.Encoding! encoding) -> void +Nerdbank.Streams.BufferTextWriter.Initialize(System.Buffers.IBufferWriter! bufferWriter, System.Text.Encoding! encoding) -> void +Nerdbank.Streams.BufferTextWriter.Reset() -> void +Nerdbank.Streams.DuplexPipe +Nerdbank.Streams.DuplexPipe.DuplexPipe(System.IO.Pipelines.PipeReader! input) -> void +Nerdbank.Streams.DuplexPipe.DuplexPipe(System.IO.Pipelines.PipeReader? input, System.IO.Pipelines.PipeWriter? output) -> void +Nerdbank.Streams.DuplexPipe.DuplexPipe(System.IO.Pipelines.PipeWriter! output) -> void +Nerdbank.Streams.DuplexPipe.Input.get -> System.IO.Pipelines.PipeReader! +Nerdbank.Streams.DuplexPipe.Output.get -> System.IO.Pipelines.PipeWriter! +Nerdbank.Streams.FullDuplexStream +Nerdbank.Streams.HalfDuplexStream +Nerdbank.Streams.HalfDuplexStream.CompleteWriting() -> void +Nerdbank.Streams.HalfDuplexStream.HalfDuplexStream() -> void +Nerdbank.Streams.HalfDuplexStream.HalfDuplexStream(int resumeWriterThreshold, int pauseWriterThreshold) -> void +Nerdbank.Streams.HalfDuplexStream.IsDisposed.get -> bool +Nerdbank.Streams.MonitoringStream +Nerdbank.Streams.MonitoringStream.DidFlush -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.DidRead -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.DidReadByte -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.DidReadMemory -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.DidReadSpan -> Nerdbank.Streams.MonitoringStream.SpanEventHandler? +Nerdbank.Streams.MonitoringStream.DidSeek -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.DidSetLength -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.DidWrite -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.DidWriteByte -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.DidWriteMemory -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.DidWriteSpan -> Nerdbank.Streams.MonitoringStream.ReadOnlySpanEventHandler? +Nerdbank.Streams.MonitoringStream.Disposed -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.EndOfStream -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.MonitoringStream(System.IO.Stream! inner) -> void +Nerdbank.Streams.MonitoringStream.ReadOnlySpanEventHandler +Nerdbank.Streams.MonitoringStream.SpanEventHandler +Nerdbank.Streams.MonitoringStream.WillRead -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.WillReadByte -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.WillReadMemory -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.WillReadSpan -> Nerdbank.Streams.MonitoringStream.SpanEventHandler? +Nerdbank.Streams.MonitoringStream.WillSetLength -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.WillWrite -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.WillWriteByte -> System.EventHandler? +Nerdbank.Streams.MonitoringStream.WillWriteMemory -> System.EventHandler>? +Nerdbank.Streams.MonitoringStream.WillWriteSpan -> Nerdbank.Streams.MonitoringStream.ReadOnlySpanEventHandler? +Nerdbank.Streams.MultiplexingProtocolException +Nerdbank.Streams.MultiplexingProtocolException.MultiplexingProtocolException() -> void +Nerdbank.Streams.MultiplexingProtocolException.MultiplexingProtocolException(System.Runtime.Serialization.SerializationInfo! info, System.Runtime.Serialization.StreamingContext context) -> void +Nerdbank.Streams.MultiplexingProtocolException.MultiplexingProtocolException(string? message) -> void +Nerdbank.Streams.MultiplexingProtocolException.MultiplexingProtocolException(string? message, System.Exception? inner) -> void +Nerdbank.Streams.MultiplexingStream +Nerdbank.Streams.MultiplexingStream.AcceptChannel(int id, Nerdbank.Streams.MultiplexingStream.ChannelOptions? options = null) -> Nerdbank.Streams.MultiplexingStream.Channel! +Nerdbank.Streams.MultiplexingStream.AcceptChannelAsync(string! name, Nerdbank.Streams.MultiplexingStream.ChannelOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.AcceptChannelAsync(string! name, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.Channel +Nerdbank.Streams.MultiplexingStream.Channel.Acceptance.get -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.Channel.Completion.get -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.Channel.Dispose() -> void +Nerdbank.Streams.MultiplexingStream.Channel.Id.get -> int +Nerdbank.Streams.MultiplexingStream.Channel.Input.get -> System.IO.Pipelines.PipeReader! +Nerdbank.Streams.MultiplexingStream.Channel.IsDisposed.get -> bool +Nerdbank.Streams.MultiplexingStream.Channel.MultiplexingStream.get -> Nerdbank.Streams.MultiplexingStream! +Nerdbank.Streams.MultiplexingStream.Channel.Output.get -> System.IO.Pipelines.PipeWriter! +Nerdbank.Streams.MultiplexingStream.Channel.TraceSource.get -> System.Diagnostics.TraceSource? +Nerdbank.Streams.MultiplexingStream.ChannelOfferEventArgs +Nerdbank.Streams.MultiplexingStream.ChannelOfferEventArgs.Id.get -> int +Nerdbank.Streams.MultiplexingStream.ChannelOfferEventArgs.IsAccepted.get -> bool +Nerdbank.Streams.MultiplexingStream.ChannelOfferEventArgs.Name.get -> string! +Nerdbank.Streams.MultiplexingStream.ChannelOffered -> System.EventHandler? +Nerdbank.Streams.MultiplexingStream.ChannelOptions +Nerdbank.Streams.MultiplexingStream.ChannelOptions.ChannelOptions() -> void +Nerdbank.Streams.MultiplexingStream.ChannelOptions.ChannelReceivingWindowSize.get -> long? +Nerdbank.Streams.MultiplexingStream.ChannelOptions.ChannelReceivingWindowSize.set -> void +Nerdbank.Streams.MultiplexingStream.ChannelOptions.ExistingPipe.get -> System.IO.Pipelines.IDuplexPipe? +Nerdbank.Streams.MultiplexingStream.ChannelOptions.ExistingPipe.set -> void +Nerdbank.Streams.MultiplexingStream.ChannelOptions.InputPipeOptions.get -> System.IO.Pipelines.PipeOptions? +Nerdbank.Streams.MultiplexingStream.ChannelOptions.InputPipeOptions.set -> void +Nerdbank.Streams.MultiplexingStream.ChannelOptions.TraceSource.get -> System.Diagnostics.TraceSource? +Nerdbank.Streams.MultiplexingStream.ChannelOptions.TraceSource.set -> void +Nerdbank.Streams.MultiplexingStream.Completion.get -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.CreateChannel(Nerdbank.Streams.MultiplexingStream.ChannelOptions? options = null) -> Nerdbank.Streams.MultiplexingStream.Channel! +Nerdbank.Streams.MultiplexingStream.DefaultChannelReceivingWindowSize.get -> long +Nerdbank.Streams.MultiplexingStream.Dispose() -> void +Nerdbank.Streams.MultiplexingStream.DisposeAsync() -> System.Threading.Tasks.ValueTask +Nerdbank.Streams.MultiplexingStream.OfferChannelAsync(string! name, Nerdbank.Streams.MultiplexingStream.ChannelOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.OfferChannelAsync(string! name, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +Nerdbank.Streams.MultiplexingStream.Options +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelReceivingWindowSize.get -> long +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelReceivingWindowSize.set -> void +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelTraceSourceFactory.get -> System.Func? +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelTraceSourceFactory.set -> void +Nerdbank.Streams.MultiplexingStream.Options.Options() -> void +Nerdbank.Streams.MultiplexingStream.Options.ProtocolMajorVersion.get -> int +Nerdbank.Streams.MultiplexingStream.Options.ProtocolMajorVersion.set -> void +Nerdbank.Streams.MultiplexingStream.Options.TraceSource.get -> System.Diagnostics.TraceSource! +Nerdbank.Streams.MultiplexingStream.Options.TraceSource.set -> void +Nerdbank.Streams.MultiplexingStream.RejectChannel(int id) -> void +Nerdbank.Streams.MultiplexingStream.TraceSource.get -> System.Diagnostics.TraceSource! +Nerdbank.Streams.PipeExtensions +Nerdbank.Streams.PrefixingBufferWriter +Nerdbank.Streams.PrefixingBufferWriter.Advance(int count) -> void +Nerdbank.Streams.PrefixingBufferWriter.Commit() -> void +Nerdbank.Streams.PrefixingBufferWriter.GetMemory(int sizeHint = 0) -> System.Memory +Nerdbank.Streams.PrefixingBufferWriter.GetSpan(int sizeHint = 0) -> System.Span +Nerdbank.Streams.PrefixingBufferWriter.Length.get -> long +Nerdbank.Streams.PrefixingBufferWriter.Prefix.get -> System.Memory +Nerdbank.Streams.PrefixingBufferWriter.PrefixingBufferWriter(System.Buffers.IBufferWriter! innerWriter, int prefixSize, int payloadSizeHint = 0, System.Buffers.MemoryPool? memoryPool = null) -> void +Nerdbank.Streams.Sequence +Nerdbank.Streams.Sequence.Advance(int count) -> void +Nerdbank.Streams.Sequence.AdvanceTo(System.SequencePosition position) -> void +Nerdbank.Streams.Sequence.Append(System.ReadOnlyMemory memory) -> void +Nerdbank.Streams.Sequence.AsReadOnlySequence.get -> System.Buffers.ReadOnlySequence +Nerdbank.Streams.Sequence.AutoIncreaseMinimumSpanLength.get -> bool +Nerdbank.Streams.Sequence.AutoIncreaseMinimumSpanLength.set -> void +Nerdbank.Streams.Sequence.Dispose() -> void +Nerdbank.Streams.Sequence.GetMemory(int sizeHint) -> System.Memory +Nerdbank.Streams.Sequence.GetSpan(int sizeHint) -> System.Span +Nerdbank.Streams.Sequence.Length.get -> long +Nerdbank.Streams.Sequence.MinimumSpanLength.get -> int +Nerdbank.Streams.Sequence.MinimumSpanLength.set -> void +Nerdbank.Streams.Sequence.Reset() -> void +Nerdbank.Streams.Sequence.Sequence() -> void +Nerdbank.Streams.Sequence.Sequence(System.Buffers.ArrayPool! arrayPool) -> void +Nerdbank.Streams.Sequence.Sequence(System.Buffers.MemoryPool! memoryPool) -> void +Nerdbank.Streams.SequenceTextReader +Nerdbank.Streams.SequenceTextReader.Initialize(System.Buffers.ReadOnlySequence sequence, System.Text.Encoding! encoding) -> void +Nerdbank.Streams.SequenceTextReader.Reset() -> void +Nerdbank.Streams.SequenceTextReader.SequenceTextReader() -> void +Nerdbank.Streams.SequenceTextReader.SequenceTextReader(System.Buffers.ReadOnlySequence sequence, System.Text.Encoding! encoding) -> void +Nerdbank.Streams.SimplexStream +Nerdbank.Streams.SimplexStream.CompleteWriting() -> void +Nerdbank.Streams.SimplexStream.IsDisposed.get -> bool +Nerdbank.Streams.SimplexStream.SimplexStream() -> void +Nerdbank.Streams.SimplexStream.SimplexStream(int resumeWriterThreshold, int pauseWriterThreshold) -> void +Nerdbank.Streams.StreamExtensions +Nerdbank.Streams.Substream +Nerdbank.Streams.Substream.DisposeAsync() -> System.Threading.Tasks.Task! +Nerdbank.Streams.Substream.DisposeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +Nerdbank.Streams.Substream.IsDisposed.get -> bool +override Nerdbank.Streams.BufferTextWriter.Dispose(bool disposing) -> void +override Nerdbank.Streams.BufferTextWriter.Encoding.get -> System.Text.Encoding! +override Nerdbank.Streams.BufferTextWriter.Flush() -> void +override Nerdbank.Streams.BufferTextWriter.FlushAsync() -> System.Threading.Tasks.Task! +override Nerdbank.Streams.BufferTextWriter.Write(System.ReadOnlySpan buffer) -> void +override Nerdbank.Streams.BufferTextWriter.Write(char value) -> void +override Nerdbank.Streams.BufferTextWriter.Write(char[]! buffer, int index, int count) -> void +override Nerdbank.Streams.BufferTextWriter.Write(string? value) -> void +override Nerdbank.Streams.BufferTextWriter.WriteLine(System.ReadOnlySpan buffer) -> void +override Nerdbank.Streams.HalfDuplexStream.CanRead.get -> bool +override Nerdbank.Streams.HalfDuplexStream.CanSeek.get -> bool +override Nerdbank.Streams.HalfDuplexStream.CanWrite.get -> bool +override Nerdbank.Streams.HalfDuplexStream.Dispose(bool disposing) -> void +override Nerdbank.Streams.HalfDuplexStream.Flush() -> void +override Nerdbank.Streams.HalfDuplexStream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.HalfDuplexStream.Length.get -> long +override Nerdbank.Streams.HalfDuplexStream.Position.get -> long +override Nerdbank.Streams.HalfDuplexStream.Position.set -> void +override Nerdbank.Streams.HalfDuplexStream.Read(byte[]! buffer, int offset, int count) -> int +override Nerdbank.Streams.HalfDuplexStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.HalfDuplexStream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override Nerdbank.Streams.HalfDuplexStream.SetLength(long value) -> void +override Nerdbank.Streams.HalfDuplexStream.Write(byte[]! buffer, int offset, int count) -> void +override Nerdbank.Streams.HalfDuplexStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.MonitoringStream.CanRead.get -> bool +override Nerdbank.Streams.MonitoringStream.CanSeek.get -> bool +override Nerdbank.Streams.MonitoringStream.CanTimeout.get -> bool +override Nerdbank.Streams.MonitoringStream.CanWrite.get -> bool +override Nerdbank.Streams.MonitoringStream.Dispose(bool disposing) -> void +override Nerdbank.Streams.MonitoringStream.Flush() -> void +override Nerdbank.Streams.MonitoringStream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.MonitoringStream.Length.get -> long +override Nerdbank.Streams.MonitoringStream.Position.get -> long +override Nerdbank.Streams.MonitoringStream.Position.set -> void +override Nerdbank.Streams.MonitoringStream.Read(System.Span buffer) -> int +override Nerdbank.Streams.MonitoringStream.Read(byte[]! buffer, int offset, int count) -> int +override Nerdbank.Streams.MonitoringStream.ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override Nerdbank.Streams.MonitoringStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.MonitoringStream.ReadByte() -> int +override Nerdbank.Streams.MonitoringStream.ReadTimeout.get -> int +override Nerdbank.Streams.MonitoringStream.ReadTimeout.set -> void +override Nerdbank.Streams.MonitoringStream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override Nerdbank.Streams.MonitoringStream.SetLength(long value) -> void +override Nerdbank.Streams.MonitoringStream.Write(System.ReadOnlySpan buffer) -> void +override Nerdbank.Streams.MonitoringStream.Write(byte[]! buffer, int offset, int count) -> void +override Nerdbank.Streams.MonitoringStream.WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override Nerdbank.Streams.MonitoringStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.MonitoringStream.WriteByte(byte value) -> void +override Nerdbank.Streams.MonitoringStream.WriteTimeout.get -> int +override Nerdbank.Streams.MonitoringStream.WriteTimeout.set -> void +override Nerdbank.Streams.SequenceTextReader.Peek() -> int +override Nerdbank.Streams.SequenceTextReader.Read() -> int +override Nerdbank.Streams.SequenceTextReader.Read(System.Span buffer) -> int +override Nerdbank.Streams.SequenceTextReader.Read(char[]! buffer, int index, int count) -> int +override Nerdbank.Streams.SequenceTextReader.ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override Nerdbank.Streams.SequenceTextReader.ReadAsync(char[]! buffer, int index, int count) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SequenceTextReader.ReadBlockAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override Nerdbank.Streams.SequenceTextReader.ReadBlockAsync(char[]! buffer, int index, int count) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SequenceTextReader.ReadLineAsync() -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SequenceTextReader.ReadToEndAsync() -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SimplexStream.CanRead.get -> bool +override Nerdbank.Streams.SimplexStream.CanSeek.get -> bool +override Nerdbank.Streams.SimplexStream.CanWrite.get -> bool +override Nerdbank.Streams.SimplexStream.Dispose(bool disposing) -> void +override Nerdbank.Streams.SimplexStream.Flush() -> void +override Nerdbank.Streams.SimplexStream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SimplexStream.Length.get -> long +override Nerdbank.Streams.SimplexStream.Position.get -> long +override Nerdbank.Streams.SimplexStream.Position.set -> void +override Nerdbank.Streams.SimplexStream.Read(byte[]! buffer, int offset, int count) -> int +override Nerdbank.Streams.SimplexStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.SimplexStream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override Nerdbank.Streams.SimplexStream.SetLength(long value) -> void +override Nerdbank.Streams.SimplexStream.Write(byte[]! buffer, int offset, int count) -> void +override Nerdbank.Streams.SimplexStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.Substream.CanRead.get -> bool +override Nerdbank.Streams.Substream.CanSeek.get -> bool +override Nerdbank.Streams.Substream.CanTimeout.get -> bool +override Nerdbank.Streams.Substream.CanWrite.get -> bool +override Nerdbank.Streams.Substream.Flush() -> void +override Nerdbank.Streams.Substream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.Substream.Length.get -> long +override Nerdbank.Streams.Substream.Position.get -> long +override Nerdbank.Streams.Substream.Position.set -> void +override Nerdbank.Streams.Substream.Read(byte[]! buffer, int offset, int count) -> int +override Nerdbank.Streams.Substream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override Nerdbank.Streams.Substream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override Nerdbank.Streams.Substream.SetLength(long value) -> void +override Nerdbank.Streams.Substream.Write(byte[]! buffer, int offset, int count) -> void +override Nerdbank.Streams.Substream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +static Nerdbank.Streams.FullDuplexStream.CreatePair(System.IO.Pipelines.PipeOptions? pipeOptions = null) -> (System.IO.Stream!, System.IO.Stream!) +static Nerdbank.Streams.FullDuplexStream.CreatePipePair(System.IO.Pipelines.PipeOptions? pipeOptions = null) -> (System.IO.Pipelines.IDuplexPipe!, System.IO.Pipelines.IDuplexPipe!) +static Nerdbank.Streams.FullDuplexStream.Splice(System.IO.Stream! readableStream, System.IO.Stream! writableStream) -> System.IO.Stream! +static Nerdbank.Streams.MultiplexingStream.CreateAsync(System.IO.Stream! stream, Nerdbank.Streams.MultiplexingStream.Options? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static Nerdbank.Streams.MultiplexingStream.CreateAsync(System.IO.Stream! stream, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static Nerdbank.Streams.PipeExtensions.AsStream(this System.IO.Pipelines.IDuplexPipe! pipe) -> System.IO.Stream! +static Nerdbank.Streams.PipeExtensions.AsStream(this System.IO.Pipelines.IDuplexPipe! pipe, bool ownsPipe) -> System.IO.Stream! +static Nerdbank.Streams.PipeExtensions.AsStream(this System.IO.Pipelines.PipeReader! pipeReader) -> System.IO.Stream! +static Nerdbank.Streams.PipeExtensions.AsStream(this System.IO.Pipelines.PipeWriter! pipeWriter) -> System.IO.Stream! +static Nerdbank.Streams.PipeExtensions.OnCompleted(this System.IO.Pipelines.PipeReader! reader, System.Action! callback, object? state = null) -> System.IO.Pipelines.PipeReader! +static Nerdbank.Streams.PipeExtensions.OnCompleted(this System.IO.Pipelines.PipeWriter! reader, System.Action! callback, object? state = null) -> System.IO.Pipelines.PipeWriter! +static Nerdbank.Streams.PipeExtensions.ReadSlice(this System.IO.Pipelines.PipeReader! reader, long length) -> System.IO.Pipelines.PipeReader! +static Nerdbank.Streams.PipeExtensions.UsePipe(this System.IO.Stream! stream, bool allowUnwrap, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.IDuplexPipe! +static Nerdbank.Streams.PipeExtensions.UsePipe(this System.IO.Stream! stream, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.IDuplexPipe! +static Nerdbank.Streams.PipeExtensions.UsePipe(this System.Net.WebSockets.WebSocket! webSocket, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.IDuplexPipe! +static Nerdbank.Streams.PipeExtensions.UsePipeReader(this System.IO.Stream! stream, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.PipeReader! +static Nerdbank.Streams.PipeExtensions.UsePipeReader(this System.Net.WebSockets.WebSocket! webSocket, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.PipeReader! +static Nerdbank.Streams.PipeExtensions.UsePipeWriter(this System.IO.Stream! stream, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.PipeWriter! +static Nerdbank.Streams.PipeExtensions.UsePipeWriter(this System.Net.WebSockets.WebSocket! webSocket, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.PipeWriter! +static Nerdbank.Streams.PipeExtensions.UseStrictPipeReader(this System.IO.Stream! stream, int sizeHint = 4096) -> System.IO.Pipelines.PipeReader! +static Nerdbank.Streams.PipeExtensions.UseStrictPipeWriter(this System.IO.Stream! stream) -> System.IO.Pipelines.PipeWriter! +static Nerdbank.Streams.Sequence.implicit operator System.Buffers.ReadOnlySequence(Nerdbank.Streams.Sequence? sequence) -> System.Buffers.ReadOnlySequence +static Nerdbank.Streams.StreamExtensions.AsStream(this System.Buffers.IBufferWriter! writer) -> System.IO.Stream! +static Nerdbank.Streams.StreamExtensions.AsStream(this System.Buffers.ReadOnlySequence readOnlySequence) -> System.IO.Stream! +static Nerdbank.Streams.StreamExtensions.AsStream(this System.Net.WebSockets.WebSocket! webSocket) -> System.IO.Stream! +static Nerdbank.Streams.StreamExtensions.ReadBlockAsync(this System.IO.Stream! stream, System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +static Nerdbank.Streams.StreamExtensions.ReadBlockOrThrowAsync(this System.IO.Stream! stream, System.Memory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +static Nerdbank.Streams.StreamExtensions.ReadSlice(this System.IO.Stream! stream, long length) -> System.IO.Stream! +static Nerdbank.Streams.StreamExtensions.ReadSubstream(this System.IO.Stream! stream) -> System.IO.Stream! +static Nerdbank.Streams.StreamExtensions.WriteSubstream(this System.IO.Stream! stream, int minimumBufferSize = 4096) -> Nerdbank.Streams.Substream! +Nerdbank.Streams.MonitoringStream.IsDisposed.get -> bool +Nerdbank.Streams.MultiplexingStream.AcceptChannel(ulong id, Nerdbank.Streams.MultiplexingStream.ChannelOptions? options = null) -> Nerdbank.Streams.MultiplexingStream.Channel! +Nerdbank.Streams.MultiplexingStream.Channel.QualifiedId.get -> Nerdbank.Streams.MultiplexingStream.QualifiedChannelId +Nerdbank.Streams.MultiplexingStream.ChannelOfferEventArgs.QualifiedId.get -> Nerdbank.Streams.MultiplexingStream.QualifiedChannelId +Nerdbank.Streams.MultiplexingStream.ChannelSource +Nerdbank.Streams.MultiplexingStream.ChannelSource.Local = 1 -> Nerdbank.Streams.MultiplexingStream.ChannelSource +Nerdbank.Streams.MultiplexingStream.ChannelSource.Remote = -1 -> Nerdbank.Streams.MultiplexingStream.ChannelSource +Nerdbank.Streams.MultiplexingStream.ChannelSource.Seeded = 0 -> Nerdbank.Streams.MultiplexingStream.ChannelSource +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelTraceSourceFactoryWithQualifier.get -> System.Func? +Nerdbank.Streams.MultiplexingStream.Options.DefaultChannelTraceSourceFactoryWithQualifier.set -> void +Nerdbank.Streams.MultiplexingStream.Options.GetFrozenCopy() -> Nerdbank.Streams.MultiplexingStream.Options! +Nerdbank.Streams.MultiplexingStream.Options.IsFrozen.get -> bool +Nerdbank.Streams.MultiplexingStream.Options.Options(Nerdbank.Streams.MultiplexingStream.Options! copyFrom) -> void +Nerdbank.Streams.MultiplexingStream.Options.SeededChannels.get -> System.Collections.Generic.IList! +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.Equals(Nerdbank.Streams.MultiplexingStream.QualifiedChannelId other) -> bool +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.Id.get -> ulong +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.QualifiedChannelId(ulong id, Nerdbank.Streams.MultiplexingStream.ChannelSource source) -> void +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.Source.get -> Nerdbank.Streams.MultiplexingStream.ChannelSource +Nerdbank.Streams.MultiplexingStream.RejectChannel(ulong id) -> void +override Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.Equals(object? obj) -> bool +override Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.GetHashCode() -> int +override Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.ToString() -> string! +static Nerdbank.Streams.MultiplexingStream.Create(System.IO.Stream! stream, Nerdbank.Streams.MultiplexingStream.Options? options = null) -> Nerdbank.Streams.MultiplexingStream! +Nerdbank.Streams.MultiplexingStream.Options.StartSuspended.get -> bool +Nerdbank.Streams.MultiplexingStream.Options.StartSuspended.set -> void +Nerdbank.Streams.MultiplexingStream.QualifiedChannelId.QualifiedChannelId() -> void +Nerdbank.Streams.MultiplexingStream.StartListening() -> void +static Nerdbank.Streams.PipeExtensions.AsPrebufferedStreamAsync(this System.IO.Pipelines.PipeReader! pipeReader, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static Nerdbank.Streams.StreamExtensions.AsStream(this System.Buffers.ReadOnlySequence readOnlySequence, System.Action? disposeAction, object? disposeActionArg) -> System.IO.Stream! +Nerdbank.Streams.BufferWriterExtensions +Nerdbank.Streams.MultiplexingStream.Options.FaultOpenChannelsOnStreamDisposal.get -> bool +Nerdbank.Streams.MultiplexingStream.Options.FaultOpenChannelsOnStreamDisposal.set -> void +Nerdbank.Streams.ReadOnlySequenceExtensions +Nerdbank.Streams.StreamPipeReader +Nerdbank.Streams.StreamPipeReader.Read() -> System.IO.Pipelines.ReadResult +Nerdbank.Streams.StreamPipeReader.StreamPipeReader(System.IO.Stream! stream) -> void +Nerdbank.Streams.StreamPipeReader.StreamPipeReader(System.IO.Stream! stream, int bufferSize, bool leaveOpen) -> void +override Nerdbank.Streams.StreamPipeReader.AdvanceTo(System.SequencePosition consumed) -> void +override Nerdbank.Streams.StreamPipeReader.AdvanceTo(System.SequencePosition consumed, System.SequencePosition examined) -> void +override Nerdbank.Streams.StreamPipeReader.CancelPendingRead() -> void +override Nerdbank.Streams.StreamPipeReader.Complete(System.Exception? exception = null) -> void +override Nerdbank.Streams.StreamPipeReader.OnWriterCompleted(System.Action! callback, object? state) -> void +override Nerdbank.Streams.StreamPipeReader.ReadAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override Nerdbank.Streams.StreamPipeReader.TryRead(out System.IO.Pipelines.ReadResult result) -> bool +static Nerdbank.Streams.BufferWriterExtensions.Write(this System.Buffers.IBufferWriter! writer, System.Buffers.ReadOnlySequence sequence) -> void +static Nerdbank.Streams.ReadOnlySequenceExtensions.Clone(this System.Buffers.ReadOnlySequence template) -> System.Buffers.ReadOnlySequence diff --git a/src/Nerdbank.Streams/net6.0/PublicAPI.Unshipped.txt b/src/Nerdbank.Streams/net6.0/PublicAPI.Unshipped.txt new file mode 100644 index 00000000..047db2e2 --- /dev/null +++ b/src/Nerdbank.Streams/net6.0/PublicAPI.Unshipped.txt @@ -0,0 +1,2 @@ +static Nerdbank.Streams.PipeExtensions.UseUtf8TextPipe(this System.Net.WebSockets.WebSocket! webSocket, int sizeHint = 0, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.IDuplexPipe! +static Nerdbank.Streams.PipeExtensions.UseUtf8TextPipeWriter(this System.Net.WebSockets.WebSocket! webSocket, System.IO.Pipelines.PipeOptions? pipeOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.IO.Pipelines.PipeWriter!