diff --git a/src/StreamJsonRpc/Reflection/MessageFormatterEnumerableTracker.cs b/src/StreamJsonRpc/Reflection/MessageFormatterEnumerableTracker.cs index 927fc92cf..883f3d72a 100644 --- a/src/StreamJsonRpc/Reflection/MessageFormatterEnumerableTracker.cs +++ b/src/StreamJsonRpc/Reflection/MessageFormatterEnumerableTracker.cs @@ -3,6 +3,7 @@ using System.Buffers; using System.Collections.Immutable; +using System.ComponentModel; using System.Reflection; using System.Runtime.Serialization; using System.Threading.Tasks.Dataflow; @@ -218,6 +219,29 @@ private void CleanUpResources(RequestId outboundRequestId) } } + /// + /// A slice of results from an . + /// + /// The type of element in the enumeration. + [DataContract] + [EditorBrowsable(EditorBrowsableState.Never)] + public sealed class EnumeratorResults + { + /// + /// Gets the slice of values in this segment. + /// + [DataMember(Name = ValuesPropertyName, Order = 0)] + [STJ.JsonPropertyName(ValuesPropertyName), STJ.JsonPropertyOrder(0)] + public IReadOnlyList? Values { get; init; } + + /// + /// Gets a value indicating whether this is definitely the last slice. + /// + [DataMember(Name = FinishedPropertyName, Order = 1)] + [STJ.JsonPropertyName(FinishedPropertyName), STJ.JsonPropertyOrder(1)] + public bool Finished { get; init; } + } + private class GeneratingEnumeratorTracker : IGeneratingEnumeratorTracker { private readonly IAsyncEnumerator enumerator; @@ -525,16 +549,4 @@ private static void Write(IBufferWriter writer, IReadOnlyList values) } } } - - [DataContract] - private class EnumeratorResults - { - [DataMember(Name = ValuesPropertyName, Order = 0)] - [STJ.JsonPropertyName(ValuesPropertyName), STJ.JsonPropertyOrder(0)] - public IReadOnlyList? Values { get; set; } - - [DataMember(Name = FinishedPropertyName, Order = 1)] - [STJ.JsonPropertyName(FinishedPropertyName), STJ.JsonPropertyOrder(1)] - public bool Finished { get; set; } - } } diff --git a/src/StreamJsonRpc/net8.0/PublicAPI.Unshipped.txt b/src/StreamJsonRpc/net8.0/PublicAPI.Unshipped.txt index 5dfb212c7..3df87170e 100644 --- a/src/StreamJsonRpc/net8.0/PublicAPI.Unshipped.txt +++ b/src/StreamJsonRpc/net8.0/PublicAPI.Unshipped.txt @@ -1 +1,7 @@ -StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! \ No newline at end of file +StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.EnumeratorResults() -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.get -> bool +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.init -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.get -> System.Collections.Generic.IReadOnlyList? +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.init -> void \ No newline at end of file diff --git a/src/StreamJsonRpc/netstandard2.0/PublicAPI.Unshipped.txt b/src/StreamJsonRpc/netstandard2.0/PublicAPI.Unshipped.txt index 5dfb212c7..3df87170e 100644 --- a/src/StreamJsonRpc/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/StreamJsonRpc/netstandard2.0/PublicAPI.Unshipped.txt @@ -1 +1,7 @@ -StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! \ No newline at end of file +StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.EnumeratorResults() -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.get -> bool +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.init -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.get -> System.Collections.Generic.IReadOnlyList? +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.init -> void \ No newline at end of file diff --git a/src/StreamJsonRpc/netstandard2.1/PublicAPI.Unshipped.txt b/src/StreamJsonRpc/netstandard2.1/PublicAPI.Unshipped.txt index 5dfb212c7..3df87170e 100644 --- a/src/StreamJsonRpc/netstandard2.1/PublicAPI.Unshipped.txt +++ b/src/StreamJsonRpc/netstandard2.1/PublicAPI.Unshipped.txt @@ -1 +1,7 @@ -StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! \ No newline at end of file +StreamJsonRpc.JsonRpc.Attach(System.ReadOnlySpan interfaceTypes, StreamJsonRpc.JsonRpcProxyOptions? options) -> object! +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.EnumeratorResults() -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.get -> bool +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Finished.init -> void +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.get -> System.Collections.Generic.IReadOnlyList? +StreamJsonRpc.Reflection.MessageFormatterEnumerableTracker.EnumeratorResults.Values.init -> void \ No newline at end of file