4 <name>Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions</name>
7 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.FileHandleType">
9 Enumerates the <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.FileHandle"/> types.
12 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.Type">
14 The type of interface being described: either an <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.IPEndPoint"/>, Unix domain socket path, or a file descriptor.
17 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.IPEndPoint">
19 The <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.IPEndPoint"/> to bind to.
20 Only set if <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.Type"/> is <see cref="F:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.ListenType.IPEndPoint"/>.
23 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.SocketPath">
25 The absolute path to a Unix domain socket to bind to.
26 Only set if <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.Type"/> is <see cref="F:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.ListenType.SocketPath"/>.
29 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.FileHandle">
31 A file descriptor for the socket to open.
32 Only set if <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.Type"/> is <see cref="F:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.ListenType.FileHandle"/>.
35 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.HandleType">
37 The type of file descriptor being used.
38 Only set if <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.Type"/> is <see cref="F:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.ListenType.FileHandle"/>.
41 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation.NoDelay">
43 Set to false to enable Nagle's algorithm for all connections.
46 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.ListenType">
48 Enumerates the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal.IEndPointInformation"/> types.
51 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.IOutput.Enlarge(System.Int32)">
52 <summary>desiredBufferLength == 0 means "i don't care"</summary>
54 <!-- Badly formed XML comment ignored for member "T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader" -->
55 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.ReadBigEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
57 Reads a structure of type <typeparamref name="T"/> out of a span of bytes.
60 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.ReadLittleEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
62 Reads a structure of type <typeparamref name="T"/> out of a span of bytes.
65 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.ReadBigEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
67 Reads a structure of type <typeparamref name="T"/> out of a span of bytes.
70 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.ReadLittleEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
72 Reads a structure of type <typeparamref name="T"/> out of a span of bytes.
75 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.Read``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
77 Reads a structure of type T out of a slice of bytes.
80 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.Read``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
82 Reads a structure of type T out of a slice of bytes.
85 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.TryRead``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},``0@)">
87 Reads a structure of type T out of a slice of bytes.
90 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferReader.TryRead``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},``0@)">
92 Reads a structure of type T out of a slice of bytes.
95 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferWriter">
97 Writes endian-specific primitives into spans.
100 Use these helpers when you need to write specific endinaness.
103 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferWriter.WriteBigEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},``0)">
105 Writes a structure of type T to a span of bytes.
108 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferWriter.WriteLittleEndian``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},``0)">
110 Writes a structure of type T to a span of bytes.
113 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferWriter.Write``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},``0)">
115 Writes a structure of type T into a slice of bytes.
118 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Binary.BufferWriter.TryWrite``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},``0)">
120 Writes a structure of type T into a slice of bytes.
123 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Runtime.UnsafeUtilities">
125 A collection of unsafe helper methods that we cannot implement in C#.
126 NOTE: these can be used for VeryBadThings(tm), so tread with care...
129 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Runtime.UnsafeUtilities.Reverse``1(``0)">
131 Reverses a primitive value - performs an endianness swap
134 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Runtime.ReferenceCounter">
136 Make sure the struct is not copied, i.e. pass it only by reference
139 The counter is not completly race-free. Reading GetGlobalCount and AddReference/Release are subject to a race.
142 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Collections.Sequences.ISequence`1.TryGet(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Collections.Sequences.Position@,`0@,System.Boolean)">
146 <param name="position"></param>
147 <param name="advance"></param>
151 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.Start">
153 The Start represents the offset into Array where the range of "active" bytes begins. At the point when the block is leased
154 the Start is guaranteed to be equal to 0. The value of Start may be assigned anywhere between 0 and
155 Buffer.Length, and must be equal to or less than End.
158 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.End">
160 The End represents the offset into Array where the range of "active" bytes ends. At the point when the block is leased
161 the End is guaranteed to be equal to Start. The value of Start may be assigned anywhere between 0 and
162 Buffer.Length, and must be equal to or less than End.
165 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.Next">
167 Reference to the next block of data when the overall "active" bytes spans multiple blocks. At the point when the block is
168 leased Next is guaranteed to be null. Start, End, and Next are used together in order to create a linked-list of discontiguous
169 working memory. The "active" memory is grown when bytes are copied in, End is increased, and Next is assigned. The "active"
170 memory is shrunk when bytes are consumed, Start is increased, and blocks are returned to the pool.
173 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment._owned">
175 The buffer being tracked
178 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.ReadOnly">
180 If true, data should not be written into the backing block after the End offset. Data between start and end should never be modified
181 since this would break cloning.
184 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.ReadableBytes">
186 The amount of readable bytes in this segment. Is is the amount of bytes between Start and End.
189 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.WritableBytes">
191 The amount of writable bytes in this segment. It is the amount of bytes between Length and End
194 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferSegment.ToString">
196 ToString overridden for debugger convenience. This displays the "active" byte information in this block as ASCII characters.
200 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.FlushResult.IsCancelled">
202 True if the currrent flush was cancelled
205 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.FlushResult.IsCompleted">
207 True if the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/> is complete
210 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeConnection">
212 Defines a class that provides a connection from which data can be read from and written to.
215 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeConnection.Input">
217 Gets the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/> half of the duplex connection.
220 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeConnection.Output">
222 Gets the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/> half of the duplex connection.
225 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader">
227 Defines a class that provides a pipeline from which data can be read.
230 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.TryRead(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult@)">
232 Attempt to synchronously read data the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/>.
234 <param name="result">The <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult"/></param>
235 <returns>True if data was available, or if the call was cancelled or the writer completed with an error.</returns>
236 <remarks>If the pipe returns false, there's no need to call Advance.</remarks>
238 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.ReadAsync(System.Threading.CancellationToken)">
240 Asynchronously reads a sequence of bytes from the current <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/>.
242 <returns>A <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBufferAwaitable"/> representing the asynchronous read operation.</returns>
244 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.Advance(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
246 Moves forward the pipeline's read cursor to after the consumed data.
248 <param name="consumed">Marks the extent of the data that has been succesfully proceesed.</param>
249 <param name="examined">Marks the extent of the data that has been read and examined.</param>
251 The memory for the consumed data will be released and no longer available.
252 The examined data communicates to the pipeline when it should signal more data is available.
255 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.CancelPendingRead">
257 Cancel to currently pending or next call to <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.ReadAsync(System.Threading.CancellationToken)"/> if none is pending, without completing the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/>.
260 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.Complete(System.Exception)">
262 Signal to the producer that the consumer is done reading.
264 <param name="exception">Optional Exception indicating a failure that's causing the pipeline to complete.</param>
266 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.OnWriterCompleted(System.Action{System.Exception,System.Object},System.Object)">
268 Registers callback that gets executed when writer side of pipe completes.
271 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter">
273 Defines a class that provides a pipeline to which data can be written.
276 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter.Alloc(System.Int32)">
278 Allocates memory from the pipeline to write into.
280 <param name="minimumSize">The minimum size buffer to allocate</param>
281 <returns>A <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/> that can be written to.</returns>
283 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter.Complete(System.Exception)">
285 Marks the pipeline as being complete, meaning no more items will be written to it.
287 <param name="exception">Optional Exception indicating a failure that's causing the pipeline to complete.</param>
289 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter.CancelPendingFlush">
291 Cancel to currently pending or next call to <see cref="!:ReadAsync"/> if none is pending, without completing the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/>.
294 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter.OnReaderCompleted(System.Action{System.Exception,System.Object},System.Object)">
296 Registers callback that gets executed when reader side of pipe completes.
299 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferEnumerator">
301 An enumerator over the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>
304 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferEnumerator.#ctor(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
309 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferEnumerator.Current">
311 The current <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.Buffer`1"/>
314 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferEnumerator.MoveNext">
316 Moves to the next <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.Buffer`1"/> in the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>
320 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.BufferEnumerator.Reset">
325 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool">
327 Used to allocate and distribute re-usable blocks of memory.
330 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._blockStride">
332 The gap between blocks' starting address. 4096 is chosen because most operating systems are 4k pages in size and alignment.
335 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._blockUnused">
337 The last 64 bytes of a block are unused to prevent CPU from pre-fetching the next 64 byte into it's memory cache.
338 See https://github.com/aspnet/KestrelHttpServer/issues/117 and https://www.youtube.com/watch?v=L7zSU9HI-6I
341 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._blockCount">
343 Allocating 32 contiguous blocks per slab makes the slab size 128k. This is larger than the 85k size which will place the memory
344 in the large object heap. This means the GC will not try to relocate this array, so the fact it remains pinned does not negatively
345 affect memory management's compactification.
348 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._blockLength">
350 4096 - 64 gives you a blockLength of 4032 usable bytes per block.
353 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool.MaxPooledBlockLength">
355 Max allocation block size for pooled blocks,
356 larger values can be leased but they will be disposed after use rather than returned to the pool.
359 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._slabLength">
361 4096 * 32 gives you a slabLength of 128k contiguous bytes allocated per slab
364 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._blocks">
366 Thread-safe collection of blocks which are currently in the pool. A slab will pre-allocate all of the block tracking objects
367 and add them to this collection. When memory is requested it is taken from here first, and when it is returned it is re-added.
370 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._slabs">
372 Thread-safe collection of slabs which have been allocated by this pool. As long as a slab is in this collection and slab.IsActive,
373 the blocks will be added to _blocks when returned.
376 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool._disposedValue">
378 This is part of implementing the IDisposable pattern.
381 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool.Lease">
383 Called to take a block from the pool.
385 <returns>The block that is reserved for the called. It must be passed to Return when it is no longer being used.</returns>
387 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool.AllocateSlab">
389 Internal method called when a block is requested and the pool is empty. It allocates one additional slab, creates all of the
390 block tracking objects, and adds them all to the pool.
393 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool.Return(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock)">
395 Called to return a block to the pool. Once Return has been called the memory no longer belongs to the caller, and
396 Very Bad Things will happen if the memory is read of modified subsequently. If a caller fails to call Return and the
397 block tracking object is garbage collected, the block tracking object's finalizer will automatically re-create and return
398 a new tracking object into the pool. This will only happen if there is a bug in the server, however it is necessary to avoid
399 leaving "dead zones" in the slab due to lost block tracking objects.
401 <param name="block">The block to return. It must have been acquired by calling Lease on the same memory pool instance.</param>
403 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock">
405 Block tracking object used by the byte buffer memory pool. A slab is a large allocation which is divided into smaller blocks. The
406 individual blocks are then treated as independent array segments.
409 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock.#ctor(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPool,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolSlab,System.Int32,System.Int32)">
411 This object cannot be instantiated outside of the static Create method
414 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock.Pool">
416 Back-reference to the memory pool which this block was allocated from. It may only be returned to this pool.
419 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock.Slab">
421 Back-reference to the slab from which this block was taken, or null if it is one-time-use memory.
424 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolBlock.ToString">
426 ToString overridden for debugger convenience. This displays the "active" byte information in this block as ASCII characters.
430 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolSlab">
432 Slab tracking object used by the byte buffer memory pool. A slab is a large allocation which is divided into smaller blocks. The
433 individual blocks are then treated as independant array segments.
436 <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolSlab._gcHandle">
438 This handle pins the managed array in memory until the slab is disposed. This prevents it from being
439 relocated and enables any subsections of the array to be used as native memory pointers to P/Invoked API calls.
442 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.MemoryPoolSlab.IsActive">
444 True as long as the blocks from this slab are to be considered returnable to the pool. In order to shrink the
445 memory pool size an entire slab must be removed. That is done by (1) setting IsActive to false and removing the
446 slab from the pool's _slabs collection, (2) as each block currently in use is Return()ed to the pool it will
447 be allowed to be garbage collected rather than re-pooled, and (3) when all block tracking objects are garbage
448 collected and the slab is no longer references the slab will be garbage collected and the memory unpinned will
449 be unpinned by the slab's Dispose.
452 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe">
454 Default <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/> and <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/> implementation.
457 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.#ctor(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.BufferPool,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PipeOptions)">
459 Initializes the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe"/> with the specifed <see cref="!:IBufferPool"/>.
461 <param name="pool"></param>
462 <param name="options"></param>
464 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft#AspNetCore#Server#Kestrel#Internal#System#IO#Pipelines#IPipeWriter#Alloc(System.Int32)">
466 Allocates memory from the pipeline to write into.
468 <param name="minimumSize">The minimum size buffer to allocate</param>
469 <returns>A <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/> that can be written to.</returns>
471 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft#AspNetCore#Server#Kestrel#Internal#System#IO#Pipelines#IPipeWriter#Complete(System.Exception)">
473 Marks the pipeline as being complete, meaning no more items will be written to it.
475 <param name="exception">Optional Exception indicating a failure that's causing the pipeline to complete.</param>
477 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft#AspNetCore#Server#Kestrel#Internal#System#IO#Pipelines#IPipeReader#Complete(System.Exception)">
479 Signal to the producer that the consumer is done reading.
481 <param name="exception">Optional Exception indicating a failure that's causing the pipeline to complete.</param>
483 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft#AspNetCore#Server#Kestrel#Internal#System#IO#Pipelines#IPipeReader#CancelPendingRead">
485 Cancel to currently pending call to <see cref="!:ReadAsync"/> without completing the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/>.
488 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft#AspNetCore#Server#Kestrel#Internal#System#IO#Pipelines#IPipeWriter#CancelPendingFlush">
490 Cancel to currently pending call to <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.FlushAsync(System.Threading.CancellationToken)"/> without completing the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/>.
493 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PipeFactory">
495 Factory used to creaet instances of various pipelines.
498 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PreservedBuffer">
500 Represents a buffer that can read a sequential series of bytes.
503 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PreservedBuffer.Buffer">
505 Returns the preserved <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>.
508 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PreservedBuffer.Dispose">
510 Dispose the preserved buffer.
513 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer">
515 Represents a buffer that can read a sequential series of bytes.
518 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Length">
520 Length of the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> in bytes.
523 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.IsEmpty">
525 Determines if the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> is empty.
528 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.IsSingleSpan">
530 Determins if the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> is a single <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.Buffer`1"/>.
533 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Start">
535 A cursor to the start of the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>.
538 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.End">
540 A cursor to the end of the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>
543 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(System.Int32,System.Int32)">
545 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', and is at most length bytes
547 <param name="start">The index at which to begin this slice.</param>
548 <param name="length">The length of the slice</param>
550 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(System.Int32,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
552 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', ending at 'end' (inclusive).
554 <param name="start">The index at which to begin this slice.</param>
555 <param name="end">The end (inclusive) of the slice</param>
557 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
559 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', ending at 'end' (inclusive).
561 <param name="start">The starting (inclusive) <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor"/> at which to begin this slice.</param>
562 <param name="end">The ending (inclusive) <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor"/> of the slice</param>
564 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor,System.Int32)">
566 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', and is at most length bytes
568 <param name="start">The starting (inclusive) <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor"/> at which to begin this slice.</param>
569 <param name="length">The length of the slice</param>
571 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
573 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', ending at the existing <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>'s end.
575 <param name="start">The starting (inclusive) <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor"/> at which to begin this slice.</param>
577 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Slice(System.Int32)">
579 Forms a slice out of the given <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>, beginning at 'start', ending at the existing <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>'s end.
581 <param name="start">The start index at which to begin this slice.</param>
583 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Preserve">
585 This transfers ownership of the buffer from the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/> to the caller of this method. Preserved buffers must be disposed to avoid
589 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.CopyTo(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
591 Copy the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> to the specified <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/>.
593 <param name="destination">The destination <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/>.</param>
595 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.ToArray">
597 Converts the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> to a <see cref="T:byte[]"/>
600 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.ToString">
606 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.GetEnumerator">
608 Returns an enumerator over the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>
611 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Create(System.Byte[])">
613 Create a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> over an array.
616 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Create(System.Byte[],System.Int32,System.Int32)">
618 Create a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> over an array.
621 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer.Create(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Buffers.OwnedBuffer{System.Byte},System.Int32,System.Int32)">
623 Create a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> over an OwnedBuffer.
626 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBufferAwaitable">
628 An awaitable object that represents an asynchronous read operation
631 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult">
633 The result of a <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader.ReadAsync(System.Threading.CancellationToken)"/> call.
636 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult.Buffer">
638 The <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> that was read
641 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult.IsCancelled">
643 True if the currrent read was cancelled
646 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadResult.IsCompleted">
648 True if the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/> is complete
651 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.SegmentEnumerator.#ctor(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor,Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadCursor)">
656 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.SegmentEnumerator.Current">
658 The current <see cref="!:Buffer<Byte>"/>
661 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.SegmentEnumerator.MoveNext">
663 Moves to the next <see cref="!:Buffer<Byte>"/> in the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/>
667 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.UnownedBuffer">
669 Represents a buffer that is owned by an external component.
672 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer">
674 Represents a buffer that can write a sequential series of bytes.
677 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Buffer">
682 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.BytesWritten">
684 Returns the number of bytes currently written and uncommitted.
687 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.AsReadableBuffer">
689 Obtain a readable buffer over the data written but uncommitted to this buffer.
692 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Ensure(System.Int32)">
694 Ensures the specified number of bytes are available.
695 Will assign more memory to the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/> if requested amount not currently available.
697 <param name="count">number of bytes</param>
699 Used when writing to <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Buffer"/> directly.
701 <exception cref="T:System.ArgumentOutOfRangeException">
702 More requested than underlying <see cref="!:IBufferPool"/> can allocate in a contiguous block.
705 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Append(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer)">
707 Appends the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> to the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/> in-place without copies.
709 <param name="buffer">The <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBuffer"/> to append</param>
711 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Advance(System.Int32)">
713 Moves forward the underlying <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/>'s write cursor but does not commit the data.
715 <param name="bytesWritten">number of bytes to be marked as written.</param>
716 <remarks>Forwards the start of available <see cref="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Buffer"/> by <paramref name="bytesWritten"/>.</remarks>
717 <exception cref="T:System.ArgumentException"><paramref name="bytesWritten"/> is larger than the current data available data.</exception>
718 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bytesWritten"/> is negative.</exception>
720 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Commit">
722 Commits all outstanding written data to the underlying <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeWriter"/> so they can be read
723 and seals the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/> so no more data can be committed.
726 While an on-going conncurent read may pick up the data, <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.FlushAsync(System.Threading.CancellationToken)"/> should be called to signal the reader.
729 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.FlushAsync(System.Threading.CancellationToken)">
731 Signals the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IPipeReader"/> data is available.
732 Will <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer.Commit"/> if necessary.
734 <returns>A task that completes when the data is fully flushed.</returns>
736 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBufferExtensions">
738 Common extension methods against writable buffers
741 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBufferExtensions.Write(Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer,Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
743 Writes the source <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/> to the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/>.
745 <param name="buffer">The <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.WritableBuffer"/></param>
746 <param name="source">The <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/> to write</param>
748 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1">
750 ReadOnlySpan represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed
751 or native memory, or to memory allocated on the stack. It is type- and memory-safe.
754 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.#ctor(`0[])">
756 Creates a new read-only span over the entirety of the target array.
758 <param name="array">The target array.</param>
759 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
760 reference (Nothing in Visual Basic).</exception>
761 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
763 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
765 Creates a new read-only span over the portion of the target array beginning
766 at 'start' index and covering the remainder of the array.
768 <param name="array">The target array.</param>
769 <param name="start">The index at which to begin the read-only span.</param>
770 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
771 reference (Nothing in Visual Basic).</exception>
772 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
773 <exception cref="!:System.ArgumentOutOfRangeException">
774 Thrown when the specified <paramref name="start"/> is not in the range (<0 or >=Length).
777 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
779 Creates a new read-only span over the portion of the target array beginning
780 at 'start' index and ending at 'end' index (exclusive).
782 <param name="array">The target array.</param>
783 <param name="start">The index at which to begin the read-only span.</param>
784 <param name="length">The number of items in the read-only span.</param>
785 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
786 reference (Nothing in Visual Basic).</exception>
787 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
788 <exception cref="!:System.ArgumentOutOfRangeException">
789 Thrown when the specified <paramref name="start"/> or end index is not in the range (<0 or >=Length).
792 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
794 Creates a new read-only span over the target unmanaged buffer. Clearly this
795 is quite dangerous, because we are creating arbitrarily typed T's
796 out of a void*-typed block of memory. And the length is not checked.
797 But if this creation is correct, then all subsequent uses are correct.
799 <param name="pointer">An unmanaged pointer to memory.</param>
800 <param name="length">The number of <typeparamref name="T"/> elements the memory contains.</param>
801 <exception cref="!:System.ArgumentException">
802 Thrown when <typeparamref name="T"/> is reference type or contains pointers and hence cannot be stored in unmanaged memory.
804 <exception cref="!:System.ArgumentOutOfRangeException">
805 Thrown when the specified <paramref name="length"/> is negative.
808 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
810 Create a new read-only span over a portion of a regular managed object. This can be useful
811 if part of a managed object represents a "fixed array." This is dangerous because neither the
812 <paramref name="length"/> is checked, nor <paramref name="obj"/> being null, nor the fact that
813 "rawPointer" actually lies within <paramref name="obj"/>.
815 <param name="obj">The managed object that contains the data to span over.</param>
816 <param name="objectData">A reference to data within that object.</param>
817 <param name="length">The number of <typeparamref name="T"/> elements the memory contains.</param>
819 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Length">
821 The number of items in the read-only span.
824 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.IsEmpty">
826 Returns true if Length is 0.
829 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Item(System.Int32)">
831 Returns the specified element of the read-only span.
833 <param name="index"></param>
835 <exception cref="!:System.IndexOutOfRangeException">
836 Thrown when index less than 0 or index greater than or equal to Length
839 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.CopyTo(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
841 Copies the contents of this read-only span into destination span. If the source
842 and destinations overlap, this method behaves as if the original values in
843 a temporary location before the destination is overwritten.
845 <param name="destination">The span to copy items into.</param>
846 <exception cref="!:System.ArgumentException">
847 Thrown when the destination Span is shorter than the source Span.
851 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.TryCopyTo(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
853 Copies the contents of this read-only span into destination span. If the source
854 and destinations overlap, this method behaves as if the original values in
855 a temporary location before the destination is overwritten.
857 <returns>If the destination span is shorter than the source span, this method
858 return false and no data is written to the destination.</returns>
860 <param name="destination">The span to copy items into.</param>
862 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.op_Equality(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0})">
864 Returns true if left and right point at the same memory and have the same length. Note that
865 this does *not* check to see if the *contents* are equal.
868 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.op_Inequality(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0})">
870 Returns false if left and right point at the same memory and have the same length. Note that
871 this does *not* check to see if the *contents* are equal.
874 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Equals(System.Object)">
876 This method is not supported as spans cannot be boxed. To compare two spans, use operator==.
877 <exception cref="!:System.NotSupportedException">
878 Always thrown by this method.
882 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.GetHashCode">
884 This method is not supported as spans cannot be boxed.
885 <exception cref="!:System.NotSupportedException">
886 Always thrown by this method.
890 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.op_Implicit(`0[])~Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0}">
892 Defines an implicit conversion of an array to a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1"/>
895 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{`0})~Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0}">
897 Defines an implicit conversion of a <see cref="T:System.ArraySegment`1"/> to a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1"/>
900 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Slice(System.Int32)">
902 Forms a slice out of the given read-only span, beginning at 'start'.
904 <param name="start">The index at which to begin this slice.</param>
905 <exception cref="!:System.ArgumentOutOfRangeException">
906 Thrown when the specified <paramref name="start"/> index is not in range (<0 or >=Length).
909 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
911 Forms a slice out of the given read-only span, beginning at 'start', of given length
913 <param name="start">The index at which to begin this slice.</param>
914 <param name="length">The desired length for the slice (exclusive).</param>
915 <exception cref="!:System.ArgumentOutOfRangeException">
916 Thrown when the specified <paramref name="start"/> or end index is not in range (<0 or >=Length).
919 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.ToArray">
921 Copies the contents of this read-only span into a new array. This heap
922 allocates, so should generally be avoided, however it is sometimes
923 necessary to bridge the gap with APIs written in terms of arrays.
926 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.Empty">
928 Returns a 0-length read-only span whose base is the null pointer.
931 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1.DangerousGetPinnableReference">
933 Returns a reference to the 0th element of the Span. If the Span is empty, returns a reference to the location where the 0th element
934 would have been stored. Such a reference can be used for pinning but must never be dereferenced.
937 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1">
939 Span represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed
940 or native memory, or to memory allocated on the stack. It is type- and memory-safe.
943 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.#ctor(`0[])">
945 Creates a new span over the entirety of the target array.
947 <param name="array">The target array.</param>
948 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
949 reference (Nothing in Visual Basic).</exception>
950 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
952 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.#ctor(`0[],System.Int32)">
954 Creates a new span over the portion of the target array beginning
955 at 'start' index and covering the remainder of the array.
957 <param name="array">The target array.</param>
958 <param name="start">The index at which to begin the span.</param>
959 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
960 reference (Nothing in Visual Basic).</exception>
961 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
962 <exception cref="!:System.ArgumentOutOfRangeException">
963 Thrown when the specified <paramref name="start"/> is not in the range (<0 or >=Length).
966 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
968 Creates a new span over the portion of the target array beginning
969 at 'start' index and ending at 'end' index (exclusive).
971 <param name="array">The target array.</param>
972 <param name="start">The index at which to begin the span.</param>
973 <param name="length">The number of items in the span.</param>
974 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="array"/> is a null
975 reference (Nothing in Visual Basic).</exception>
976 <exception cref="!:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> is covariant and array's type is not exactly T[].</exception>
977 <exception cref="!:System.ArgumentOutOfRangeException">
978 Thrown when the specified <paramref name="start"/> or end index is not in the range (<0 or >=Length).
981 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.#ctor(System.Void*,System.Int32)">
983 Creates a new span over the target unmanaged buffer. Clearly this
984 is quite dangerous, because we are creating arbitrarily typed T's
985 out of a void*-typed block of memory. And the length is not checked.
986 But if this creation is correct, then all subsequent uses are correct.
988 <param name="pointer">An unmanaged pointer to memory.</param>
989 <param name="length">The number of <typeparamref name="T"/> elements the memory contains.</param>
990 <exception cref="!:System.ArgumentException">
991 Thrown when <typeparamref name="T"/> is reference type or contains pointers and hence cannot be stored in unmanaged memory.
993 <exception cref="!:System.ArgumentOutOfRangeException">
994 Thrown when the specified <paramref name="length"/> is negative.
997 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
999 Create a new span over a portion of a regular managed object. This can be useful
1000 if part of a managed object represents a "fixed array." This is dangerous because neither the
1001 <paramref name="length"/> is checked, nor <paramref name="obj"/> being null, nor the fact that
1002 "rawPointer" actually lies within <paramref name="obj"/>.
1004 <param name="obj">The managed object that contains the data to span over.</param>
1005 <param name="objectData">A reference to data within that object.</param>
1006 <param name="length">The number of <typeparamref name="T"/> elements the memory contains.</param>
1008 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Length">
1010 The number of items in the span.
1013 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.IsEmpty">
1015 Returns true if Length is 0.
1018 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Item(System.Int32)">
1020 Returns a reference to specified element of the Span.
1022 <param name="index"></param>
1024 <exception cref="!:System.IndexOutOfRangeException">
1025 Thrown when index less than 0 or index greater than or equal to Length
1028 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Clear">
1030 Clears the contents of this span.
1033 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Fill(`0)">
1035 Fills the contents of this span with the given value.
1038 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.CopyTo(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
1040 Copies the contents of this span into destination span. If the source
1041 and destinations overlap, this method behaves as if the original values in
1042 a temporary location before the destination is overwritten.
1044 <param name="destination">The span to copy items into.</param>
1045 <exception cref="!:System.ArgumentException">
1046 Thrown when the destination Span is shorter than the source Span.
1050 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.TryCopyTo(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
1052 Copies the contents of this span into destination span. If the source
1053 and destinations overlap, this method behaves as if the original values in
1054 a temporary location before the destination is overwritten.
1056 <returns>If the destination span is shorter than the source span, this method
1057 return false and no data is written to the destination.</returns>
1059 <param name="destination">The span to copy items into.</param>
1061 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.op_Equality(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
1063 Returns true if left and right point at the same memory and have the same length. Note that
1064 this does *not* check to see if the *contents* are equal.
1067 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.op_Inequality(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})">
1069 Returns false if left and right point at the same memory and have the same length. Note that
1070 this does *not* check to see if the *contents* are equal.
1073 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Equals(System.Object)">
1075 This method is not supported as spans cannot be boxed. To compare two spans, use operator==.
1076 <exception cref="!:System.NotSupportedException">
1077 Always thrown by this method.
1081 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.GetHashCode">
1083 This method is not supported as spans cannot be boxed.
1084 <exception cref="!:System.NotSupportedException">
1085 Always thrown by this method.
1089 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.op_Implicit(`0[])~Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0}">
1091 Defines an implicit conversion of an array to a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/>
1094 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.op_Implicit(System.ArraySegment{`0})~Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0}">
1096 Defines an implicit conversion of a <see cref="T:System.ArraySegment`1"/> to a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/>
1099 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.op_Implicit(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{`0})~Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{`0}">
1101 Defines an implicit conversion of a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1"/> to a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan`1"/>
1104 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Slice(System.Int32)">
1106 Forms a slice out of the given span, beginning at 'start'.
1108 <param name="start">The index at which to begin this slice.</param>
1109 <exception cref="!:System.ArgumentOutOfRangeException">
1110 Thrown when the specified <paramref name="start"/> index is not in range (<0 or >=Length).
1113 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Slice(System.Int32,System.Int32)">
1115 Forms a slice out of the given span, beginning at 'start', of given length
1117 <param name="start">The index at which to begin this slice.</param>
1118 <param name="length">The desired length for the slice (exclusive).</param>
1119 <exception cref="!:System.ArgumentOutOfRangeException">
1120 Thrown when the specified <paramref name="start"/> or end index is not in range (<0 or >=Length).
1123 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.ToArray">
1125 Copies the contents of this span into a new array. This heap
1126 allocates, so should generally be avoided, however it is sometimes
1127 necessary to bridge the gap with APIs written in terms of arrays.
1130 <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.Empty">
1132 Returns a 0-length span whose base is the null pointer.
1135 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span`1.DangerousGetPinnableReference">
1137 Returns a reference to the 0th element of the Span. If the Span is empty, returns a reference to the location where the 0th element
1138 would have been stored. Such a reference can be used for pinning but must never be dereferenced.
1141 <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions">
1143 Extension methods for Span<T>.
1146 Extension methods for Span<T>.
1149 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0},``0)">
1151 Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable<T>.Equals(T).
1153 <param name="span">The span to search.</param>
1154 <param name="value">The value to search for.</param>
1156 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},System.Byte)">
1158 Searches for the specified value and returns the index of its first occurrence. If not found, returns -1.
1160 <param name="span">The span to search.</param>
1161 <param name="value">The value to search for.</param>
1163 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1165 Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable<T>.Equals(T).
1167 <param name="span">The span to search.</param>
1168 <param name="value">The sequence to search for.</param>
1170 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1172 Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1.
1174 <param name="span">The span to search.</param>
1175 <param name="value">The sequence to search for.</param>
1177 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.SequenceEqual``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1179 Determines whether two sequences are equal by comparing the elements using IEquatable<T>.Equals(T).
1182 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.SequenceEqual(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1184 Determines whether two sequences are equal by comparing the elements.
1187 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0},``0)">
1189 Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable<T>.Equals(T).
1191 <param name="span">The span to search.</param>
1192 <param name="value">The value to search for.</param>
1194 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},System.Byte)">
1196 Searches for the specified value and returns the index of its first occurrence. If not found, returns -1.
1198 <param name="span">The span to search.</param>
1199 <param name="value">The value to search for.</param>
1201 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1203 Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable<T>.Equals(T).
1205 <param name="span">The span to search.</param>
1206 <param name="value">The sequence to search for.</param>
1208 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOf(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1210 Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1.
1212 <param name="span">The span to search.</param>
1213 <param name="value">The sequence to search for.</param>
1215 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},System.Byte,System.Byte)">
1217 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1219 <param name="span">The span to search.</param>
1220 <param name="value0">One of the values to search for.</param>
1221 <param name="value1">One of the values to search for.</param>
1223 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
1225 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1227 <param name="span">The span to search.</param>
1228 <param name="value0">One of the values to search for.</param>
1229 <param name="value1">One of the values to search for.</param>
1230 <param name="value2">One of the values to search for.</param>
1232 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1234 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1236 <param name="span">The span to search.</param>
1237 <param name="values">The set of values to search for.</param>
1239 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
1241 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1243 <param name="span">The span to search.</param>
1244 <param name="value0">One of the values to search for.</param>
1245 <param name="value1">One of the values to search for.</param>
1247 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
1249 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1251 <param name="span">The span to search.</param>
1252 <param name="value0">One of the values to search for.</param>
1253 <param name="value1">One of the values to search for.</param>
1254 <param name="value2">One of the values to search for.</param>
1256 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.IndexOfAny(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1258 Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
1260 <param name="span">The span to search.</param>
1261 <param name="values">The set of values to search for.</param>
1263 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.SequenceEqual``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1265 Determines whether two sequences are equal by comparing the elements using IEquatable<T>.Equals(T).
1268 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.SequenceEqual(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1270 Determines whether two sequences are equal by comparing the elements.
1273 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.StartsWith(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1275 Determines whether the specified sequence appears at the start of the span.
1278 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.StartsWith``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1280 Determines whether the specified sequence appears at the start of the span.
1283 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.StartsWith(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte})">
1285 Determines whether the specified sequence appears at the start of the span.
1288 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.StartsWith``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0},Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1290 Determines whether the specified sequence appears at the start of the span.
1293 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.AsSpan``1(``0[])">
1295 Creates a new span over the portion of the target array.
1298 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
1300 Creates a new span over the portion of the target array segment.
1303 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.CopyTo``1(``0[],Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0})">
1305 Copies the contents of the array into the span. If the source
1306 and destinations overlap, this method behaves as if the original values in
1307 a temporary location before the destination is overwritten.
1309 <param name="array">The array to copy items from.</param>
1310 <param name="destination">The span to copy items into.</param>
1311 <exception cref="!:System.ArgumentException">
1312 Thrown when the destination Span is shorter than the source array.
1316 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.AsBytes``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0})">
1318 Casts a Span of one primitive type <typeparamref name="T"/> to Span of bytes.
1319 That type may not contain pointers or references. This is checked at runtime in order to preserve type safety.
1321 <param name="source">The source slice, of type <typeparamref name="T"/>.</param>
1322 <exception cref="!:System.ArgumentException">
1323 Thrown when <typeparamref name="T"/> contains pointers.
1325 <exception cref="!:System.OverflowException">
1326 Thrown if the Length property of the new Span would exceed Int32.MaxValue.
1329 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.AsBytes``1(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1331 Casts a ReadOnlySpan of one primitive type <typeparamref name="T"/> to ReadOnlySpan of bytes.
1332 That type may not contain pointers or references. This is checked at runtime in order to preserve type safety.
1334 <param name="source">The source slice, of type <typeparamref name="T"/>.</param>
1335 <exception cref="!:System.ArgumentException">
1336 Thrown when <typeparamref name="T"/> contains pointers.
1338 <exception cref="!:System.OverflowException">
1339 Thrown if the Length property of the new Span would exceed Int32.MaxValue.
1342 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.AsSpan(System.String)">
1344 Creates a new readonly span over the portion of the target string.
1346 <param name="text">The target string.</param>
1347 <exception cref="!:System.ArgumentNullException">Thrown when <paramref name="text"/> is null.</exception>
1349 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.NonPortableCast``2(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{``0})">
1351 Casts a Span of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
1352 These types may not contain pointers or references. This is checked at runtime in order to preserve type safety.
1355 Supported only for platforms that support misaligned memory access.
1357 <param name="source">The source slice, of type <typeparamref name="TFrom"/>.</param>
1358 <exception cref="!:System.ArgumentException">
1359 Thrown when <typeparamref name="TFrom"/> or <typeparamref name="TTo"/> contains pointers.
1361 <exception cref="!:System.OverflowException">
1362 Thrown if the Length property of the new Span would exceed Int32.MaxValue.
1365 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanExtensions.NonPortableCast``2(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{``0})">
1367 Casts a ReadOnlySpan of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
1368 These types may not contain pointers or references. This is checked at runtime in order to preserve type safety.
1371 Supported only for platforms that support misaligned memory access.
1373 <param name="source">The source slice, of type <typeparamref name="TFrom"/>.</param>
1374 <exception cref="!:System.ArgumentException">
1375 Thrown when <typeparamref name="TFrom"/> or <typeparamref name="TTo"/> contains pointers.
1377 <exception cref="!:System.OverflowException">
1378 Thrown if the Length property of the new Span would exceed Int32.MaxValue.
1381 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanHelpers.CopyTo``1(``0@,System.Int32,``0@,System.Int32)">
1383 Implements the copy functionality used by Span and ReadOnlySpan.
1385 NOTE: Fast span implements TryCopyTo in corelib and therefore this implementation
1386 is only used by portable span. The code must live in code that only compiles
1387 for portable span which means either each individual span implementation
1388 of this shared code file. Other shared SpanHelper.X.cs files are compiled
1389 for both portable and fast span implementations.
1392 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanHelpers.Add``1(System.IntPtr,System.Int32)">
1394 Computes "start + index * sizeof(T)", using the unsigned IntPtr-sized multiplication for 32 and 64 bits.
1397 Start and index are non-negative, and already pre-validated to be within the valid range of their containing Span.
1399 If the byte length (Span.Length * sizeof(T)) does an unsigned overflow (i.e. the buffer wraps or is too big to fit within the address space),
1400 the behavior is undefined.
1404 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.SpanHelpers.IsReferenceOrContainsReferences``1">
1406 Determine if a type is eligible for storage in unmanaged memory.
1407 Portable equivalent of RuntimeHelpers.IsReferenceOrContainsReferences<T>()
1410 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Text.Encodings.Web.Utf8.UrlEncoder.Decode(Microsoft.AspNetCore.Server.Kestrel.Internal.System.ReadOnlySpan{System.Byte},Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
1414 <param name="source">The byte span represents a UTF8 encoding url path.</param>
1415 <param name="destination">The byte span where unescaped url path is copied to.</param>
1416 <returns>The length of the byte sequence of the unescaped url path.</returns>
1418 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Text.Encodings.Web.Utf8.UrlEncoder.DecodeInPlace(Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
1420 Unescape a URL path in place.
1422 <param name="buffer">The byte span represents a UTF8 encoding url path.</param>
1423 <returns>The number of the bytes representing the result.</returns>
1425 The unescape is done in place, which means after decoding the result is the subset of
1429 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Text.Encodings.Web.Utf8.UrlEncoder.DecodeCore(System.Int32@,System.Int32@,Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
1431 Unescape the percent-encodings
1433 <param name="sourceIndex">The iterator point to the first % char</param>
1434 <param name="destinationIndex">The place to write to</param>
1435 <param name="end">The end of the buffer</param>
1436 <param name="buffer">The byte array</param>
1438 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Text.Encodings.Web.Utf8.UrlEncoder.UnescapePercentEncoding(System.Int32@,Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
1440 Read the percent-encoding and try unescape it.
1442 The operation first peek at the character the <paramref name="scan"/>
1443 iterator points at. If it is % the <paramref name="scan"/> is then
1444 moved on to scan the following to characters. If the two following
1445 characters are hexadecimal literals they will be unescaped and the
1446 value will be returned.
1448 If the first character is not % the <paramref name="scan"/> iterator
1449 will be removed beyond the location of % and -1 will be returned.
1451 If the following two characters can't be successfully unescaped the
1452 <paramref name="scan"/> iterator will be move behind the % and -1
1455 <param name="scan">The value to read</param>
1456 <param name="buffer">The byte array</param>
1457 <returns>The unescaped byte if success. Otherwise return -1.</returns>
1459 <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.System.Text.Encodings.Web.Utf8.UrlEncoder.ReadHex(System.Int32@,Microsoft.AspNetCore.Server.Kestrel.Internal.System.Span{System.Byte})">
1461 Read the next char and convert it into hexadecimal value.
1463 The <paramref name="scan"/> index will be moved to the next
1464 byte no matter no matter whether the operation successes.
1466 <param name="scan">The index of the byte in the buffer to read</param>
1467 <param name="buffer">The byte span from which the hex to be read</param>
1468 <returns>The hexadecimal value if successes, otherwise -1.</returns>