<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Net.ServerSentEvents</name>
    </assembly>
    <members>
        <member name="T:System.Net.ServerSentEvents.SseFormatter">
            <summary>
            Provides methods for formatting server-sent events.
            </summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseFormatter.WriteAsync(System.Collections.Generic.IAsyncEnumerable{System.Net.ServerSentEvents.SseItem{System.String}},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Writes the <paramref name="source"/> of server-sent events to the <paramref name="destination"/> stream.
            </summary>
            <param name="source">The events to write to the stream.</param>
            <param name="destination">The destination stream to write the events.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that can be used to cancel the write operation.</param>
            <returns>A task that represents the asynchronous write operation.</returns>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseFormatter.WriteAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Net.ServerSentEvents.SseItem{``0}},System.IO.Stream,System.Action{System.Net.ServerSentEvents.SseItem{``0},System.Buffers.IBufferWriter{System.Byte}},System.Threading.CancellationToken)">
            <summary>
            Writes the <paramref name="source"/> of server-sent events to the <paramref name="destination"/> stream.
            </summary>
            <typeparam name="T">The data type of the event.</typeparam>
            <param name="source">The events to write to the stream.</param>
            <param name="destination">The destination stream to write the events.</param>
            <param name="itemFormatter">The formatter for the data field of given event.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that can be used to cancel the write operation.</param>
            <returns>A task that represents the asynchronous write operation.</returns>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseParser`1">
            <summary>Provides a parser for server-sent events information.</summary>
            <typeparam name="T">Specifies the type of data parsed from an event.</typeparam>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.CR">
            <summary>Carriage Return.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.LF">
            <summary>Line Feed.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.CRLF">
            <summary>Carriage Return Line Feed.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.TimeSpan_MaxValueMilliseconds">
            <summary>The maximum number of milliseconds representible by <see cref="T:System.TimeSpan"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.DefaultArrayPoolRentSize">
            <summary>The default size of an ArrayPool buffer to rent.</summary>
            <remarks>Larger size used by default to minimize number of reads. Smaller size used in debug to stress growth/shifting logic.</remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._stream">
            <summary>The stream to be parsed.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._itemParser">
            <summary>The parser delegate used to transform bytes into a <typeparamref name="T"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._used">
            <summary>Indicates whether the enumerable has already been used for enumeration.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer">
            <summary>Buffer, either empty or rented, containing the data being read from the stream while looking for the next line.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineOffset">
            <summary>The starting offset of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineLength">
            <summary>The length of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/>, starting from <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineOffset"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._newlineIndex">
            <summary>The index in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/> where a newline ('\r', '\n', or "\r\n") was found.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lastSearchedForNewline">
            <summary>The index in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/> of characters already checked for newlines.</summary>
            <remarks>
            This is to avoid O(LineLength^2) behavior in the rare case where we have long lines that are built-up over multiple reads.
            We want to avoid re-checking the same characters we've already checked over and over again.
            </remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eof">
            <summary>Set when eof has been reached in the stream.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer">
            <summary>Rented buffer containing buffered data for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataLength">
            <summary>The length of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer"/>, starting from index 0.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataAppended">
            <summary>Whether data has been appended to <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer"/>.</summary>
            <remarks>This can be different than <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataLength"/> != 0 if empty data was appended.</remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eventType">
            <summary>The event type for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eventId">
            <summary>The event id for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._nextReconnectionInterval">
            <summary>The reconnection interval for the next event.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.#ctor(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{`0})">
            <summary>Initialize the enumerable.</summary>
            <param name="stream">The stream to parse.</param>
            <param name="itemParser">The function to use to parse payload bytes into a <typeparamref name="T"/>.</param>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.Enumerate">
            <summary>Gets an enumerable of the server-sent events from this parser.</summary>
            <exception cref="T:System.InvalidOperationException">The parser has already been enumerated. Such an exception may propagate out of a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/>.</exception>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.EnumerateAsync(System.Threading.CancellationToken)">
            <summary>Gets an asynchronous enumerable of the server-sent events from this parser.</summary>
            <param name="cancellationToken">The cancellation token to use to cancel the enumeration.</param>
            <exception cref="T:System.InvalidOperationException">The parser has already been enumerated. Such an exception may propagate out of a call to <see cref="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync"/>.</exception>
            <exception cref="T:System.OperationCanceledException">The enumeration was canceled. Such an exception may propagate out of a call to <see cref="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync"/>.</exception>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.GetNextSearchOffsetAndLength(System.Int32@,System.Int32@)">
            <summary>Gets the next index and length with which to perform a newline search.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ShiftOrGrowLineBufferIfNecessary">
            <summary>
            If there's no room remaining in the line buffer, either shifts the contents
            left or grows the buffer in order to make room for the next read.
            </summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ProcessLine(System.Net.ServerSentEvents.SseItem{`0}@,System.Int32@)">
            <summary>Processes a complete line from the SSE stream.</summary>
            <param name="sseItem">The parsed item if the method returns true.</param>
            <param name="advance">How many characters to advance in the line buffer.</param>
            <returns>true if an SSE item was successfully parsed; otherwise, false.</returns>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.LastEventId">
            <summary>Gets the last event ID.</summary>
            <remarks>This value is updated any time a new last event ID is parsed. It is not reset between SSE items.</remarks>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.ReconnectionInterval">
            <summary>Gets the reconnection interval.</summary>
            <remarks>
            If no retry event was received, this defaults to <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/>, and it will only
            ever be <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> in that situation. If a client wishes to retry, the server-sent
            events specification states that the interval may then be decided by the client implementation and should be a
            few seconds.
            </remarks>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ThrowIfNotFirstEnumeration">
            <summary>Transitions the object to a used state, throwing if it's already been used.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.FillLineBuffer">
            <summary>Reads data from the stream into the line buffer.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.FillLineBufferAsync(System.Threading.CancellationToken)">
            <summary>Reads data asynchronously from the stream into the line buffer.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.Utf8Bom">
            <summary>Gets the UTF8 BOM.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.SkipBomIfPresent">
            <summary>Called at the beginning of processing to skip over an optional UTF8 byte order mark.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.GrowBuffer(System.Byte[]@,System.Int32)">
            <summary>Grows the buffer, returning the existing one to the ArrayPool and renting an ArrayPool replacement.</summary>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseItem`1">
            <summary>Represents a server-sent event.</summary>
            <typeparam name="T">Specifies the type of data payload in the event.</typeparam>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._eventType">
            <summary>The event's type.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._eventId">
            <summary>The event's id.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._reconnectionInterval">
            <summary>The event's reconnection interval.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseItem`1.#ctor(`0,System.String)">
            <summary>Initializes the server-sent event.</summary>
            <param name="data">The event's payload.</param>
            <param name="eventType">The event's type.</param>
            <exception cref="T:System.ArgumentException">Thrown when <paramref name="eventType"/> contains a line break.</exception>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.Data">
            <summary>Gets the event's payload.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.EventType">
            <summary>Gets the event's type.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.EventId">
            <summary>Gets the event's id.</summary>
            <exception cref="T:System.ArgumentException">Thrown when the value contains a line break.</exception>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.ReconnectionInterval">
            <summary>Gets the event's retry interval.</summary>
            <remarks>
            When specified on an event, instructs the client to update its reconnection time to the specified value.
            </remarks>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseItemParser`1">
            <summary>Encapsulates a method for parsing the bytes payload of a server-sent event.</summary>
            <typeparam name="T">Specifies the type of the return value of the parser.</typeparam>
            <param name="eventType">The event's type.</param>
            <param name="data">The event's payload bytes.</param>
            <returns>The parsed <typeparamref name="T"/>.</returns>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseParser">
            <summary>Provides a parser for parsing server-sent events.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser.EventTypeDefault">
            <summary>The default <see cref="P:System.Net.ServerSentEvents.SseItem`1.EventType"/> ("message") for an event that did not explicitly specify a type.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser.Create(System.IO.Stream)">
            <summary>Creates a parser for parsing a <paramref name="sseStream"/> of server-sent events into a sequence of <see cref="T:System.Net.ServerSentEvents.SseItem`1"/> values.</summary>
            <param name="sseStream">The stream containing the data to parse.</param>
            <returns>
            The enumerable of strings, which can be enumerated synchronously or asynchronously. The strings
            are decoded from the UTF8-encoded bytes of the payload of each event.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sseStream"/> is null.</exception>
            <remarks>
            This overload has behavior equivalent to calling <see cref="M:System.Net.ServerSentEvents.SseParser.Create``1(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{``0})"/> with a delegate
            that decodes the data of each event using <see cref="P:System.Text.Encoding.UTF8"/>'s GetString method.
            </remarks>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser.Create``1(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{``0})">
            <summary>Creates a parser for parsing a <paramref name="sseStream"/> of server-sent events into a sequence of <see cref="T:System.Net.ServerSentEvents.SseItem`1"/> values.</summary>
            <typeparam name="T">Specifies the type of data in each event.</typeparam>
            <param name="sseStream">The stream containing the data to parse.</param>
            <param name="itemParser">The parser to use to transform each payload of bytes into a data element.</param>
            <returns>The enumerable, which can be enumerated synchronously or asynchronously.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sseStream"/> or <paramref name="itemParser"/> is null.</exception>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser.Utf8GetString(System.ReadOnlySpan{System.Byte})">
            <summary>Encoding.UTF8.GetString(bytes)</summary>
        </member>
        <member name="P:System.SR.InvalidOperation_EnumerateOnlyOnce">
            <summary>The enumerable may be enumerated only once.</summary>
        </member>
        <member name="P:System.SR.ArgumentException_CannotContainLineBreaks">
            <summary>The argument cannot contain line breaks.</summary>
        </member>
        <member name="P:System.SR.ArgumentException_CannotBeNegative">
            <summary>The argument cannot be a negative value.</summary>
        </member>
    </members>
</doc>
