System.IO.Pipelines.xml 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>System.IO.Pipelines</name>
  5. </assembly>
  6. <members>
  7. <member name="T:System.Threading.Tasks.TaskToApm">
  8. <summary>
  9. Provides support for efficiently using Tasks to implement the APM (Begin/End) pattern.
  10. </summary>
  11. </member>
  12. <member name="M:System.Threading.Tasks.TaskToApm.Begin(System.Threading.Tasks.Task,System.AsyncCallback,System.Object)">
  13. <summary>
  14. Marshals the Task as an IAsyncResult, using the supplied callback and state
  15. to implement the APM pattern.
  16. </summary>
  17. <param name="task">The Task to be marshaled.</param>
  18. <param name="callback">The callback to be invoked upon completion.</param>
  19. <param name="state">The state to be stored in the IAsyncResult.</param>
  20. <returns>An IAsyncResult to represent the task's asynchronous operation.</returns>
  21. </member>
  22. <member name="M:System.Threading.Tasks.TaskToApm.End(System.IAsyncResult)">
  23. <summary>Processes an IAsyncResult returned by Begin.</summary>
  24. <param name="asyncResult">The IAsyncResult to unwrap.</param>
  25. </member>
  26. <member name="M:System.Threading.Tasks.TaskToApm.End``1(System.IAsyncResult)">
  27. <summary>Processes an IAsyncResult returned by Begin.</summary>
  28. <param name="asyncResult">The IAsyncResult to unwrap.</param>
  29. </member>
  30. <member name="M:System.Threading.Tasks.TaskToApm.GetTask(System.IAsyncResult)">
  31. <summary>Gets the task represented by the IAsyncResult.</summary>
  32. </member>
  33. <member name="M:System.Threading.Tasks.TaskToApm.ThrowArgumentException(System.IAsyncResult)">
  34. <summary>Throws an argument exception for the invalid <paramref name="asyncResult"/>.</summary>
  35. </member>
  36. <member name="T:System.Threading.Tasks.TaskToApm.TaskAsyncResult">
  37. <summary>Provides a simple IAsyncResult that wraps a Task.</summary>
  38. <remarks>
  39. We could use the Task as the IAsyncResult if the Task's AsyncState is the same as the object state,
  40. but that's very rare, in particular in a situation where someone cares about allocation, and always
  41. using TaskAsyncResult simplifies things and enables additional optimizations.
  42. </remarks>
  43. </member>
  44. <member name="F:System.Threading.Tasks.TaskToApm.TaskAsyncResult._task">
  45. <summary>The wrapped Task.</summary>
  46. </member>
  47. <member name="F:System.Threading.Tasks.TaskToApm.TaskAsyncResult._callback">
  48. <summary>Callback to invoke when the wrapped task completes.</summary>
  49. </member>
  50. <member name="M:System.Threading.Tasks.TaskToApm.TaskAsyncResult.#ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback)">
  51. <summary>Initializes the IAsyncResult with the Task to wrap and the associated object state.</summary>
  52. <param name="task">The Task to wrap.</param>
  53. <param name="state">The new AsyncState value.</param>
  54. <param name="callback">Callback to invoke when the wrapped task completes.</param>
  55. </member>
  56. <member name="M:System.Threading.Tasks.TaskToApm.TaskAsyncResult.InvokeCallback">
  57. <summary>Invokes the callback.</summary>
  58. </member>
  59. <member name="P:System.Threading.Tasks.TaskToApm.TaskAsyncResult.AsyncState">
  60. <summary>Gets a user-defined object that qualifies or contains information about an asynchronous operation.</summary>
  61. </member>
  62. <member name="P:System.Threading.Tasks.TaskToApm.TaskAsyncResult.CompletedSynchronously">
  63. <summary>Gets a value that indicates whether the asynchronous operation completed synchronously.</summary>
  64. <remarks>This is set lazily based on whether the <see cref="F:System.Threading.Tasks.TaskToApm.TaskAsyncResult._task"/> has completed by the time this object is created.</remarks>
  65. </member>
  66. <member name="P:System.Threading.Tasks.TaskToApm.TaskAsyncResult.IsCompleted">
  67. <summary>Gets a value that indicates whether the asynchronous operation has completed.</summary>
  68. </member>
  69. <member name="P:System.Threading.Tasks.TaskToApm.TaskAsyncResult.AsyncWaitHandle">
  70. <summary>Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.</summary>
  71. </member>
  72. <member name="P:System.IO.Pipelines.BufferSegment.End">
  73. <summary>
  74. The End represents the offset into AvailableMemory where the range of "active" bytes ends. At the point when the block is leased
  75. the End is guaranteed to be equal to Start. The value of Start may be assigned anywhere between 0 and
  76. Buffer.Length, and must be equal to or less than End.
  77. </summary>
  78. </member>
  79. <member name="P:System.IO.Pipelines.BufferSegment.NextSegment">
  80. <summary>
  81. Reference to the next block of data when the overall "active" bytes spans multiple blocks. At the point when the block is
  82. leased Next is guaranteed to be null. Start, End, and Next are used together in order to create a linked-list of discontiguous
  83. working memory. The "active" memory is grown when bytes are copied in, End is increased, and Next is assigned. The "active"
  84. memory is shrunk when bytes are consumed, Start is increased, and blocks are returned to the pool.
  85. </summary>
  86. </member>
  87. <member name="T:System.IO.Pipelines.FlushResult">
  88. <summary>Result returned by <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> call.</summary>
  89. </member>
  90. <member name="M:System.IO.Pipelines.FlushResult.#ctor(System.Boolean,System.Boolean)">
  91. <summary>Initializes a new instance of <see cref="T:System.IO.Pipelines.FlushResult" /> struct setting the <see cref="P:System.IO.Pipelines.FlushResult.IsCanceled" /> and <see cref="P:System.IO.Pipelines.FlushResult.IsCompleted" /> flags.</summary>
  92. <param name="isCanceled"><see langword="true" /> to indicate the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.FlushResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />; otherwise, <see langword="false" />.</param>
  93. <param name="isCompleted"><see langword="true" /> to indicate the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</param>
  94. </member>
  95. <member name="P:System.IO.Pipelines.FlushResult.IsCanceled">
  96. <summary>Gets a value that indicates whether the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />.</summary>
  97. <value><see langword="true" /> if the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />; otherwise, <see langword="false" />.</value>
  98. </member>
  99. <member name="P:System.IO.Pipelines.FlushResult.IsCompleted">
  100. <summary>Gets a value that indicates the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
  101. <value><see langword="true" /> if the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />; otherwise, <see langword="false" />.</value>
  102. </member>
  103. <member name="T:System.IO.Pipelines.IDuplexPipe">
  104. <summary>Defines a class that provides a duplex pipe from which data can be read from and written to.</summary>
  105. </member>
  106. <member name="P:System.IO.Pipelines.IDuplexPipe.Input">
  107. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeReader" /> half of the duplex pipe.</summary>
  108. </member>
  109. <member name="P:System.IO.Pipelines.IDuplexPipe.Output">
  110. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeWriter" /> half of the duplex pipe.</summary>
  111. </member>
  112. <member name="T:System.IO.Pipelines.BufferSegmentStack.SegmentAsValueType">
  113. <summary>
  114. A simple struct we wrap reference types inside when storing in arrays to
  115. bypass the CLR's covariant checks when writing to arrays.
  116. </summary>
  117. <remarks>
  118. We use <see cref="T:System.IO.Pipelines.BufferSegmentStack.SegmentAsValueType"/> as a wrapper to avoid paying the cost of covariant checks whenever
  119. the underlying array that the <see cref="T:System.IO.Pipelines.BufferSegmentStack"/> class uses is written to.
  120. We've recognized this as a perf win in ETL traces for these stack frames:
  121. clr!JIT_Stelem_Ref
  122. clr!ArrayStoreCheck
  123. clr!ObjIsInstanceOf
  124. </remarks>
  125. </member>
  126. <member name="T:System.IO.Pipelines.Pipe">
  127. <summary>The default <see cref="T:System.IO.Pipelines.PipeWriter" /> and <see cref="T:System.IO.Pipelines.PipeReader" /> implementation.</summary>
  128. <summary>The default <see cref="T:System.IO.Pipelines.PipeWriter" /> and <see cref="T:System.IO.Pipelines.PipeReader" /> implementation.</summary>
  129. <summary>The default <see cref="T:System.IO.Pipelines.PipeWriter" /> and <see cref="T:System.IO.Pipelines.PipeReader" /> implementation.</summary>
  130. </member>
  131. <member name="M:System.IO.Pipelines.Pipe.#ctor">
  132. <summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.Pipe" /> class using <see cref="P:System.IO.Pipelines.PipeOptions.Default" /> as options.</summary>
  133. </member>
  134. <member name="M:System.IO.Pipelines.Pipe.#ctor(System.IO.Pipelines.PipeOptions)">
  135. <summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.Pipe" /> class with the specified options.</summary>
  136. <param name="options">The set of options for this pipe.</param>
  137. </member>
  138. <member name="P:System.IO.Pipelines.Pipe.Reader">
  139. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeReader" /> for this pipe.</summary>
  140. <value>A <see cref="T:System.IO.Pipelines.PipeReader" /> instance for this pipe.</value>
  141. </member>
  142. <member name="P:System.IO.Pipelines.Pipe.Writer">
  143. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeWriter" /> for this pipe.</summary>
  144. <value>A <see cref="T:System.IO.Pipelines.PipeWriter" /> instance for this pipe.</value>
  145. </member>
  146. <member name="M:System.IO.Pipelines.Pipe.Reset">
  147. <summary>Resets the pipe.</summary>
  148. </member>
  149. <member name="T:System.IO.Pipelines.PipeOptions">
  150. <summary>Represents a set of <see cref="T:System.IO.Pipelines.Pipe" /> options.</summary>
  151. </member>
  152. <member name="P:System.IO.Pipelines.PipeOptions.Default">
  153. <summary>Gets the default instance of <see cref="T:System.IO.Pipelines.PipeOptions" />.</summary>
  154. <value>A <see cref="T:System.IO.Pipelines.PipeOptions" /> object initialized with default parameters.</value>
  155. </member>
  156. <member name="M:System.IO.Pipelines.PipeOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.IO.Pipelines.PipeScheduler,System.IO.Pipelines.PipeScheduler,System.Int64,System.Int64,System.Int32,System.Boolean)">
  157. <summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.PipeOptions" /> class with the specified parameters.</summary>
  158. <param name="pool">The pool of memory blocks to be used for buffer management.</param>
  159. <param name="readerScheduler">The <see cref="T:System.IO.Pipelines.PipeScheduler" /> to be used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</param>
  160. <param name="writerScheduler">The <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</param>
  161. <param name="pauseWriterThreshold">The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> before <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking. A value of zero prevents <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> from ever blocking, effectively making the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> unlimited.</param>
  162. <param name="resumeWriterThreshold">The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</param>
  163. <param name="minimumSegmentSize">The minimum size of the segment requested from <paramref name="pool" />.</param>
  164. <param name="useSynchronizationContext"><see langword="true" /> if asynchronous continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on; <see langword="false" /> otherwise. This takes precedence over the schedulers specified in <see cref="P:System.IO.Pipelines.PipeOptions.ReaderScheduler" /> and <see cref="P:System.IO.Pipelines.PipeOptions.WriterScheduler" />.</param>
  165. </member>
  166. <member name="P:System.IO.Pipelines.PipeOptions.UseSynchronizationContext">
  167. <summary>Gets a value that determines if asynchronous callbacks and continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on. This takes precedence over the schedulers specified in <see cref="P:System.IO.Pipelines.PipeOptions.ReaderScheduler" /> and <see cref="P:System.IO.Pipelines.PipeOptions.WriterScheduler" />.</summary>
  168. <value><see langword="true" /> if asynchronous callbacks and continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on; otherwise, <see langword="false" />.</value>
  169. </member>
  170. <member name="P:System.IO.Pipelines.PipeOptions.PauseWriterThreshold">
  171. <summary>Gets the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking.</summary>
  172. <value>The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking.</value>
  173. </member>
  174. <member name="P:System.IO.Pipelines.PipeOptions.ResumeWriterThreshold">
  175. <summary>Gets the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</summary>
  176. <value>The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</value>
  177. </member>
  178. <member name="P:System.IO.Pipelines.PipeOptions.MinimumSegmentSize">
  179. <summary>Gets the minimum size of the segment requested from the <see cref="P:System.IO.Pipelines.PipeOptions.Pool" />.</summary>
  180. <value>The minimum size of the segment requested from the <see cref="P:System.IO.Pipelines.PipeOptions.Pool" />.</value>
  181. </member>
  182. <member name="P:System.IO.Pipelines.PipeOptions.WriterScheduler">
  183. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</summary>
  184. <value>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> object used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</value>
  185. </member>
  186. <member name="P:System.IO.Pipelines.PipeOptions.ReaderScheduler">
  187. <summary>Gets the <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</summary>
  188. <value>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> that is used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</value>
  189. </member>
  190. <member name="P:System.IO.Pipelines.PipeOptions.Pool">
  191. <summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> object used for buffer management.</summary>
  192. <value>A pool of memory blocks used for buffer management.</value>
  193. </member>
  194. <member name="P:System.IO.Pipelines.PipeOptions.IsDefaultSharedMemoryPool">
  195. <summary>
  196. Returns true if Pool is <see cref="T:System.Buffers.MemoryPool`1"/>.Shared
  197. </summary>
  198. </member>
  199. <member name="P:System.IO.Pipelines.PipeOptions.InitialSegmentPoolSize">
  200. <summary>
  201. The initialize size of the segment pool
  202. </summary>
  203. </member>
  204. <member name="P:System.IO.Pipelines.PipeOptions.MaxSegmentPoolSize">
  205. <summary>
  206. The maximum number of segments to pool
  207. </summary>
  208. </member>
  209. <member name="T:System.IO.Pipelines.PipeReader">
  210. <summary>Defines a class that provides access to a read side of pipe.</summary>
  211. </member>
  212. <member name="M:System.IO.Pipelines.PipeReader.TryRead(System.IO.Pipelines.ReadResult@)">
  213. <summary>Attempts to synchronously read data from the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  214. <param name="result">When this method returns <see langword="true" />, this value is set to a <see cref="T:System.IO.Pipelines.ReadResult" /> instance that represents the result of the read call; otherwise, this value is set to <see langword="default" />.</param>
  215. <returns><see langword="true" /> if data was available, or if the call was canceled or the writer was completed; otherwise, <see langword="false" />.</returns>
  216. <remarks>If the pipe returns <see langword="false" />, there is no need to call <see cref="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)" />.</remarks>
  217. </member>
  218. <member name="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)">
  219. <summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  220. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
  221. <returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
  222. </member>
  223. <member name="M:System.IO.Pipelines.PipeReader.ReadAtLeastAsync(System.Int32,System.Threading.CancellationToken)">
  224. <summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  225. <param name="minimumSize">The minimum length that needs to be buffered in order to for the call to return.</param>
  226. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
  227. <returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
  228. <remarks>The call returns if the <see cref="T:System.IO.Pipelines.PipeReader" /> has read the minimumLength specified, or is cancelled or completed.</remarks>
  229. </member>
  230. <member name="M:System.IO.Pipelines.PipeReader.ReadAtLeastAsyncCore(System.Int32,System.Threading.CancellationToken)">
  231. <summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  232. <param name="minimumSize">The minimum length that needs to be buffered in order to for the call to return.</param>
  233. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
  234. <returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
  235. <remarks>The call returns if the <see cref="T:System.IO.Pipelines.PipeReader" /> has read the minimumLength specified, or is cancelled or completed.</remarks>
  236. </member>
  237. <member name="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition)">
  238. <summary>Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed.</summary>
  239. <param name="consumed">Marks the extent of the data that has been successfully processed.</param>
  240. <remarks>The memory for the consumed data will be released and no longer available.
  241. The <see cref="P:System.IO.Pipelines.ReadResult.Buffer" /> previously returned from <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> must not be accessed after this call.
  242. This is equivalent to calling <see cref="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)" /> with identical examined and consumed positions.
  243. The examined data communicates to the pipeline when it should signal more data is available.
  244. Because the consumed parameter doubles as the examined parameter, the consumed parameter should be greater than or equal to the examined position in the previous call to `AdvanceTo`. Otherwise, an <see cref="T:System.InvalidOperationException" /> is thrown.</remarks>
  245. </member>
  246. <member name="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)">
  247. <summary>Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed, read and examined.</summary>
  248. <param name="consumed">Marks the extent of the data that has been successfully processed.</param>
  249. <param name="examined">Marks the extent of the data that has been read and examined.</param>
  250. <remarks>The memory for the consumed data will be released and no longer available.
  251. The <see cref="P:System.IO.Pipelines.ReadResult.Buffer" /> previously returned from <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> must not be accessed after this call.
  252. The examined data communicates to the pipeline when it should signal more data is available.
  253. The examined parameter should be greater than or equal to the examined position in the previous call to `AdvanceTo`. Otherwise, an <see cref="T:System.InvalidOperationException" /> is thrown.</remarks>
  254. </member>
  255. <member name="M:System.IO.Pipelines.PipeReader.AsStream(System.Boolean)">
  256. <summary>Returns a <see cref="T:System.IO.Stream" /> representation of the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  257. <param name="leaveOpen">An optional flag that indicates whether disposing the returned <see cref="T:System.IO.Stream" /> leaves <see cref="T:System.IO.Pipelines.PipeReader" /> open (<see langword="true" />) or completes <see cref="T:System.IO.Pipelines.PipeReader" /> (<see langword="false" />).</param>
  258. <returns>A stream that represents the <see cref="T:System.IO.Pipelines.PipeReader" />.</returns>
  259. </member>
  260. <member name="M:System.IO.Pipelines.PipeReader.CancelPendingRead">
  261. <summary>Cancels the pending <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation without causing it to throw and without completing the <see cref="T:System.IO.Pipelines.PipeReader" />. If there is no pending operation, this cancels the next operation.</summary>
  262. <remarks>The canceled <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation returns a <see cref="T:System.IO.Pipelines.ReadResult" /> where <see cref="P:System.IO.Pipelines.ReadResult.IsCanceled" /> is <see langword="true" />.</remarks>
  263. </member>
  264. <member name="M:System.IO.Pipelines.PipeReader.Complete(System.Exception)">
  265. <summary>Signals to the producer that the consumer is done reading.</summary>
  266. <param name="exception">Optional <see cref="T:System.Exception" /> indicating a failure that's causing the pipeline to complete.</param>
  267. </member>
  268. <member name="M:System.IO.Pipelines.PipeReader.CompleteAsync(System.Exception)">
  269. <summary>Marks the current pipe reader instance as being complete, meaning no more data will be read from it.</summary>
  270. <param name="exception">An optional exception that indicates the failure that caused the reader to complete.</param>
  271. <returns>A value task that represents the asynchronous complete operation.</returns>
  272. </member>
  273. <member name="M:System.IO.Pipelines.PipeReader.OnWriterCompleted(System.Action{System.Exception,System.Object},System.Object)">
  274. <summary>Registers a callback that executes when the <see cref="T:System.IO.Pipelines.PipeWriter" /> side of the pipe is completed.</summary>
  275. <param name="callback">The callback to register.</param>
  276. <param name="state">The state object to pass to <paramref name="callback" /> when it's invoked.</param>
  277. <remarks><format type="text/markdown"><![CDATA[
  278. > [!IMPORTANT]
  279. > `OnWriterCompleted` may not be invoked on all implementations of <xref:System.IO.Pipelines.PipeWriter>. This method will be removed in a future release.
  280. ]]></format></remarks>
  281. </member>
  282. <member name="M:System.IO.Pipelines.PipeReader.Create(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions)">
  283. <summary>Creates a <see cref="T:System.IO.Pipelines.PipeReader" /> wrapping the specified <see cref="T:System.IO.Stream" />.</summary>
  284. <param name="stream">The stream that the pipe reader will wrap.</param>
  285. <param name="readerOptions">The options to configure the pipe reader.</param>
  286. <returns>A <see cref="T:System.IO.Pipelines.PipeReader" /> that wraps the <see cref="T:System.IO.Stream" />.</returns>
  287. </member>
  288. <member name="M:System.IO.Pipelines.PipeReader.Create(System.Buffers.ReadOnlySequence{System.Byte})">
  289. <summary>
  290. Creates a <see cref="T:System.IO.Pipelines.PipeReader"/> wrapping the specified <see cref="T:System.Buffers.ReadOnlySequence`1"/>.
  291. </summary>
  292. <param name="sequence">The sequence.</param>
  293. <returns>A <see cref="T:System.IO.Pipelines.PipeReader"/> that wraps the <see cref="T:System.Buffers.ReadOnlySequence`1"/>.</returns>
  294. </member>
  295. <member name="M:System.IO.Pipelines.PipeReader.CopyToAsync(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)">
  296. <summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Pipelines.PipeReader" /> and writes them to the specified <see cref="T:System.IO.Pipelines.PipeWriter" />, using a specified buffer size and cancellation token.</summary>
  297. <param name="destination">The pipe writer to which the contents of the current stream will be copied.</param>
  298. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  299. <returns>A task that represents the asynchronous copy operation.</returns>
  300. </member>
  301. <member name="M:System.IO.Pipelines.PipeReader.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken)">
  302. <summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Pipelines.PipeReader" /> and writes them to the specified stream, using a specified cancellation token.</summary>
  303. <param name="destination">The stream to which the contents of the current stream will be copied.</param>
  304. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  305. <returns>A task that represents the asynchronous copy operation.</returns>
  306. </member>
  307. <member name="T:System.IO.Pipelines.PipeScheduler">
  308. <summary>Abstraction for running <see cref="T:System.IO.Pipelines.PipeReader" /> and <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and continuations.</summary>
  309. </member>
  310. <member name="P:System.IO.Pipelines.PipeScheduler.ThreadPool">
  311. <summary>The <see cref="T:System.IO.Pipelines.PipeScheduler" /> implementation that queues callbacks to the thread pool.</summary>
  312. <value>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> instance that queues callbacks to the thread pool.</value>
  313. </member>
  314. <member name="P:System.IO.Pipelines.PipeScheduler.Inline">
  315. <summary>The <see cref="T:System.IO.Pipelines.PipeScheduler" /> implementation that runs callbacks inline.</summary>
  316. <value>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> instance that runs callbacks inline.</value>
  317. </member>
  318. <member name="M:System.IO.Pipelines.PipeScheduler.Schedule(System.Action{System.Object},System.Object)">
  319. <summary>Requests <paramref name="action" /> to be run on scheduler with <paramref name="state" /> being passed in.</summary>
  320. <param name="action">The single-parameter action delegate to schedule.</param>
  321. <param name="state">The parameter to pass to the <paramref name="action" /> delegate.</param>
  322. </member>
  323. <member name="T:System.IO.Pipelines.PipeWriter">
  324. <summary>Defines a class that provides a pipeline to which data can be written.</summary>
  325. </member>
  326. <member name="M:System.IO.Pipelines.PipeWriter.Complete(System.Exception)">
  327. <summary>Marks the <see cref="T:System.IO.Pipelines.PipeWriter" /> as being complete, meaning no more items will be written to it.</summary>
  328. <param name="exception">Optional <see cref="T:System.Exception" /> indicating a failure that's causing the pipeline to complete.</param>
  329. </member>
  330. <member name="M:System.IO.Pipelines.PipeWriter.CompleteAsync(System.Exception)">
  331. <summary>Marks the current pipe writer instance as being complete, meaning no more data will be written to it.</summary>
  332. <param name="exception">An optional exception that indicates the failure that caused the pipeline to complete.</param>
  333. <returns>A value task that represents the asynchronous complete operation.</returns>
  334. </member>
  335. <member name="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush">
  336. <summary>Cancels the pending <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> or <see cref="M:System.IO.Pipelines.PipeWriter.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)" /> operation without causing the operation to throw and without completing the <see cref="T:System.IO.Pipelines.PipeWriter" />. If there is no pending operation, this cancels the next operation.</summary>
  337. <remarks>The canceled <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> or <see cref="M:System.IO.Pipelines.PipeWriter.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)" /> operation returns a <see cref="T:System.IO.Pipelines.FlushResult" /> where <see cref="P:System.IO.Pipelines.FlushResult.IsCanceled" /> is <see langword="true" />.</remarks>
  338. </member>
  339. <member name="P:System.IO.Pipelines.PipeWriter.CanGetUnflushedBytes">
  340. <summary>Gets a value that indicates whether the current <see cref="T:System.IO.Pipelines.PipeWriter" /> supports reporting the count of unflushed bytes.</summary>
  341. <value><see langword="true" />If a class derived from <see cref="T:System.IO.Pipelines.PipeWriter" /> does not support getting the unflushed bytes, calls to <see cref="P:System.IO.Pipelines.PipeWriter.UnflushedBytes" /> throw <see cref="T:System.NotImplementedException" />.</value>
  342. </member>
  343. <member name="M:System.IO.Pipelines.PipeWriter.OnReaderCompleted(System.Action{System.Exception,System.Object},System.Object)">
  344. <summary>Registers a callback that executes when the <see cref="T:System.IO.Pipelines.PipeReader" /> side of the pipe is completed.</summary>
  345. <param name="callback">The callback to register.</param>
  346. <param name="state">The state object to pass to <paramref name="callback" /> when it's invoked.</param>
  347. <remarks><format type="text/markdown"><![CDATA[
  348. > [!IMPORTANT]
  349. > `OnReaderCompleted` may not be invoked on all implementations of <xref:System.IO.Pipelines.PipeWriter>. This method will be removed in a future release.
  350. ]]></format></remarks>
  351. </member>
  352. <member name="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)">
  353. <summary>Makes bytes written available to <see cref="T:System.IO.Pipelines.PipeReader" /> and runs <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> continuation.</summary>
  354. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  355. <returns>A task that represents and wraps the asynchronous flush operation.</returns>
  356. </member>
  357. <member name="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)">
  358. <summary>Notifies the <see cref="T:System.IO.Pipelines.PipeWriter" /> that <paramref name="bytes" /> bytes were written to the output <see cref="T:System.Span`1" /> or <see cref="T:System.Memory`1" />. You must request a new buffer after calling <see cref="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)" /> to continue writing more data; you cannot write to a previously acquired buffer.</summary>
  359. <param name="bytes">The number of bytes written to the <see cref="T:System.Span`1" /> or <see cref="T:System.Memory`1" />.</param>
  360. </member>
  361. <member name="M:System.IO.Pipelines.PipeWriter.GetMemory(System.Int32)">
  362. <summary>Returns a <see cref="T:System.Memory`1" /> to write to that is at least the requested size, as specified by the <paramref name="sizeHint" /> parameter.</summary>
  363. <param name="sizeHint">The minimum length of the returned <see cref="T:System.Memory`1" />. If 0, a non-empty memory buffer of arbitrary size is returned.</param>
  364. <returns>A memory buffer of at least <paramref name="sizeHint" /> bytes. If <paramref name="sizeHint" /> is 0, returns a non-empty buffer of arbitrary size.</returns>
  365. <remarks>There is no guarantee that successive calls will return the same buffer or the same-sized buffer.
  366. This method never returns <see cref="P:System.Memory`1.Empty" />, but it throws an <see cref="T:System.OutOfMemoryException" /> if the requested buffer size is not available.
  367. You must request a new buffer after calling <see cref="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)" /> to continue writing more data; you cannot write to a previously acquired buffer.</remarks>
  368. <exception cref="T:System.OutOfMemoryException">The requested buffer size is not available.</exception>
  369. </member>
  370. <member name="M:System.IO.Pipelines.PipeWriter.GetSpan(System.Int32)">
  371. <summary>Returns a <see cref="T:System.Span`1" /> to write to that is at least the requested size, as specified by the <paramref name="sizeHint" /> parameter.</summary>
  372. <param name="sizeHint">The minimum length of the returned <see cref="T:System.Span`1" />. If 0, a non-empty buffer of arbitrary size is returned.</param>
  373. <returns>A buffer of at least <paramref name="sizeHint" /> bytes. If <paramref name="sizeHint" /> is 0, returns a non-empty buffer of arbitrary size.</returns>
  374. <remarks>There is no guarantee that successive calls will return the same buffer or the same-sized buffer.
  375. This method never returns <see cref="P:System.Span`1.Empty" />, but it throws an <see cref="T:System.OutOfMemoryException" /> if the requested buffer size is not available.
  376. You must request a new buffer after calling <see cref="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)" /> to continue writing more data; you cannot write to a previously acquired buffer.</remarks>
  377. <exception cref="T:System.OutOfMemoryException">The requested buffer size is not available.</exception>
  378. </member>
  379. <member name="M:System.IO.Pipelines.PipeWriter.AsStream(System.Boolean)">
  380. <summary>Returns a <see cref="T:System.IO.Stream" /> representation of the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
  381. <param name="leaveOpen">An optional flag that indicates whether disposing the returned <see cref="T:System.IO.Stream" /> leaves <see cref="T:System.IO.Pipelines.PipeReader" /> open (<see langword="true" />) or completes <see cref="T:System.IO.Pipelines.PipeReader" /> (<see langword="false" />).</param>
  382. <returns>A stream that represents the <see cref="T:System.IO.Pipelines.PipeWriter" />.</returns>
  383. </member>
  384. <member name="M:System.IO.Pipelines.PipeWriter.Create(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions)">
  385. <summary>Creates a <see cref="T:System.IO.Pipelines.PipeWriter" /> wrapping the specified <see cref="T:System.IO.Stream" />.</summary>
  386. <param name="stream">The stream that the pipe writer will wrap.</param>
  387. <param name="writerOptions">The options to configure the pipe writer.</param>
  388. <returns>A <see cref="T:System.IO.Pipelines.PipeWriter" /> that wraps the <see cref="T:System.IO.Stream" />.</returns>
  389. </member>
  390. <member name="M:System.IO.Pipelines.PipeWriter.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
  391. <summary>Writes the specified byte memory range to the pipe and makes data accessible to the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  392. <param name="source">The read-only byte memory region to write.</param>
  393. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  394. <returns>A task that represents the asynchronous write operation, and wraps the flush asynchronous operation.</returns>
  395. </member>
  396. <member name="M:System.IO.Pipelines.PipeWriter.CopyFromAsync(System.IO.Stream,System.Threading.CancellationToken)">
  397. <summary>Asynchronously reads the bytes from the specified stream and writes them to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
  398. <param name="source">The stream from which the contents will be copied.</param>
  399. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  400. <returns>A task that represents the asynchronous copy operation.</returns>
  401. </member>
  402. <member name="P:System.IO.Pipelines.PipeWriter.UnflushedBytes">
  403. <summary>
  404. When overridden in a derived class, gets the count of unflushed bytes within the current writer.
  405. </summary>
  406. <exception cref="T:System.NotImplementedException">The <see cref="T:System.IO.Pipelines.PipeWriter"/> does not support getting the unflushed byte count.</exception>
  407. </member>
  408. <member name="T:System.IO.Pipelines.ReadResult">
  409. <summary>Represents the result of a <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</summary>
  410. </member>
  411. <member name="M:System.IO.Pipelines.ReadResult.#ctor(System.Buffers.ReadOnlySequence{System.Byte},System.Boolean,System.Boolean)">
  412. <summary>Creates a new instance of <see cref="T:System.IO.Pipelines.ReadResult" /> setting <see cref="P:System.IO.Pipelines.ReadResult.IsCanceled" /> and <see cref="P:System.IO.Pipelines.ReadResult.IsCompleted" /> flags.</summary>
  413. <param name="buffer">The read-only sequence containing the bytes of data that were read in the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</param>
  414. <param name="isCanceled">A flag that indicates if the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.ReadResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />.</param>
  415. <param name="isCompleted">A flag that indicates whether the end of the data stream has been reached.</param>
  416. </member>
  417. <member name="P:System.IO.Pipelines.ReadResult.Buffer">
  418. <summary>Gets the <see cref="T:System.Buffers.ReadOnlySequence`1" /> that was read.</summary>
  419. <value>A read-only sequence containing the bytes of data that were read in the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</value>
  420. </member>
  421. <member name="P:System.IO.Pipelines.ReadResult.IsCanceled">
  422. <summary>Gets a value that indicates whether the current <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />.</summary>
  423. <value><see langword="true" /> if the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.ReadResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />; otherwise, <see langword="false" />.</value>
  424. </member>
  425. <member name="P:System.IO.Pipelines.ReadResult.IsCompleted">
  426. <summary>Gets a value that indicates whether the end of the data stream has been reached.</summary>
  427. <value><see langword="true" /> if the end of the data stream has been reached; otherwise, <see langword="false" />.</value>
  428. </member>
  429. <member name="M:System.IO.Pipelines.SequencePipeReader.AdvanceTo(System.SequencePosition)">
  430. <inheritdoc />
  431. </member>
  432. <member name="M:System.IO.Pipelines.SequencePipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)">
  433. <inheritdoc />
  434. </member>
  435. <member name="M:System.IO.Pipelines.SequencePipeReader.CancelPendingRead">
  436. <inheritdoc />
  437. </member>
  438. <member name="M:System.IO.Pipelines.SequencePipeReader.Complete(System.Exception)">
  439. <inheritdoc />
  440. </member>
  441. <member name="M:System.IO.Pipelines.SequencePipeReader.ReadAsync(System.Threading.CancellationToken)">
  442. <inheritdoc />
  443. </member>
  444. <member name="M:System.IO.Pipelines.SequencePipeReader.TryRead(System.IO.Pipelines.ReadResult@)">
  445. <inheritdoc />
  446. </member>
  447. <member name="T:System.IO.Pipelines.StreamPipeExtensions">
  448. <summary>Provides extension methods for <see cref="T:System.IO.Stream" /> that support read and write operations directly into pipes.</summary>
  449. </member>
  450. <member name="M:System.IO.Pipelines.StreamPipeExtensions.CopyToAsync(System.IO.Stream,System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)">
  451. <summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Stream" /> and writes them to the specified <see cref="T:System.IO.Pipelines.PipeWriter" />, using a cancellation token.</summary>
  452. <param name="source">The stream from which the contents of the current stream will be copied.</param>
  453. <param name="destination">The writer to which the contents of the source stream will be copied.</param>
  454. <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
  455. <returns>A task that represents the asynchronous copy operation.</returns>
  456. </member>
  457. <member name="M:System.IO.Pipelines.StreamPipeReader.#ctor(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions)">
  458. <summary>
  459. Creates a new StreamPipeReader.
  460. </summary>
  461. <param name="readingStream">The stream to read from.</param>
  462. <param name="options">The options to use.</param>
  463. </member>
  464. <member name="P:System.IO.Pipelines.StreamPipeReader.InnerStream">
  465. <summary>
  466. Gets the inner stream that is being read from.
  467. </summary>
  468. </member>
  469. <member name="M:System.IO.Pipelines.StreamPipeReader.AdvanceTo(System.SequencePosition)">
  470. <inheritdoc />
  471. </member>
  472. <member name="M:System.IO.Pipelines.StreamPipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)">
  473. <inheritdoc />
  474. </member>
  475. <member name="M:System.IO.Pipelines.StreamPipeReader.CancelPendingRead">
  476. <inheritdoc />
  477. </member>
  478. <member name="M:System.IO.Pipelines.StreamPipeReader.Complete(System.Exception)">
  479. <inheritdoc />
  480. </member>
  481. <member name="M:System.IO.Pipelines.StreamPipeReader.ReadAsync(System.Threading.CancellationToken)">
  482. <inheritdoc />
  483. </member>
  484. <member name="M:System.IO.Pipelines.StreamPipeReader.CopyToAsync(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)">
  485. <inheritdoc />
  486. </member>
  487. <member name="M:System.IO.Pipelines.StreamPipeReader.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken)">
  488. <inheritdoc />
  489. </member>
  490. <member name="T:System.IO.Pipelines.StreamPipeReaderOptions">
  491. <summary>Represents a set of options for controlling the creation of the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
  492. </member>
  493. <member name="M:System.IO.Pipelines.StreamPipeReaderOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Int32,System.Boolean)">
  494. <summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeReaderOptions" /> instance, optionally specifying a memory pool, a minimum buffer size, a minimum read size, and whether the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
  495. <param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
  496. <param name="bufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
  497. <param name="minimumReadSize">The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024.</param>
  498. <param name="leaveOpen"><see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
  499. </member>
  500. <member name="M:System.IO.Pipelines.StreamPipeReaderOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Int32,System.Boolean,System.Boolean)">
  501. <summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeReaderOptions" /> instance, optionally specifying a memory pool, a minimum buffer size, a minimum read size, and whether the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
  502. <param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
  503. <param name="bufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
  504. <param name="minimumReadSize">The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024.</param>
  505. <param name="leaveOpen"><see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
  506. <param name="useZeroByteReads"><see langword="true" /> if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, <see langword="false" />.</param>
  507. </member>
  508. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.BufferSize">
  509. <summary>Gets the minimum buffer size to use when renting memory from the <see cref="P:System.IO.Pipelines.StreamPipeReaderOptions.Pool" />.</summary>
  510. <value>The buffer size.</value>
  511. </member>
  512. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.MaxBufferSize">
  513. <summary>Gets the maximum buffer size to use when renting memory from the <see cref="P:System.IO.Pipelines.StreamPipeReaderOptions.Pool" />.</summary>
  514. <value>The maximum buffer size.</value>
  515. </member>
  516. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.MinimumReadSize">
  517. <summary>Gets the threshold of remaining bytes in the buffer before a new buffer is allocated.</summary>
  518. <value>The minimum read size.</value>
  519. </member>
  520. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.Pool">
  521. <summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> to use when allocating memory.</summary>
  522. <value>A memory pool instance.</value>
  523. </member>
  524. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.LeaveOpen">
  525. <summary>Gets the value that indicates if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
  526. <value><see langword="true" /> if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; otherwise, <see langword="false" />.</value>
  527. </member>
  528. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.UseZeroByteReads">
  529. <summary>Gets the value that indicates if reads with an empty buffer should be issued to the underlying stream, in order to wait for data to arrive before allocating memory.</summary>
  530. <value><see langword="true" /> if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, <see langword="false" />.</value>
  531. </member>
  532. <member name="P:System.IO.Pipelines.StreamPipeReaderOptions.IsDefaultSharedMemoryPool">
  533. <summary>
  534. Returns true if Pool is <see cref="T:System.Buffers.MemoryPool`1"/>.Shared
  535. </summary>
  536. </member>
  537. <member name="P:System.IO.Pipelines.StreamPipeWriter.InnerStream">
  538. <summary>
  539. Gets the inner stream that is being written to.
  540. </summary>
  541. </member>
  542. <member name="M:System.IO.Pipelines.StreamPipeWriter.Advance(System.Int32)">
  543. <inheritdoc />
  544. </member>
  545. <member name="M:System.IO.Pipelines.StreamPipeWriter.GetMemory(System.Int32)">
  546. <inheritdoc />
  547. </member>
  548. <member name="M:System.IO.Pipelines.StreamPipeWriter.GetSpan(System.Int32)">
  549. <inheritdoc />
  550. </member>
  551. <member name="M:System.IO.Pipelines.StreamPipeWriter.CancelPendingFlush">
  552. <inheritdoc />
  553. </member>
  554. <member name="P:System.IO.Pipelines.StreamPipeWriter.CanGetUnflushedBytes">
  555. <inheritdoc />
  556. </member>
  557. <member name="M:System.IO.Pipelines.StreamPipeWriter.Complete(System.Exception)">
  558. <inheritdoc />
  559. </member>
  560. <member name="M:System.IO.Pipelines.StreamPipeWriter.FlushAsync(System.Threading.CancellationToken)">
  561. <inheritdoc />
  562. </member>
  563. <member name="P:System.IO.Pipelines.StreamPipeWriter.UnflushedBytes">
  564. <inheritdoc />
  565. </member>
  566. <member name="T:System.IO.Pipelines.StreamPipeWriterOptions">
  567. <summary>Represents a set of options for controlling the creation of the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
  568. </member>
  569. <member name="M:System.IO.Pipelines.StreamPipeWriterOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Boolean)">
  570. <summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeWriterOptions" /> instance, optionally specifying a memory pool, a minimum buffer size, and whether the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes.</summary>
  571. <param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
  572. <param name="minimumBufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
  573. <param name="leaveOpen"><see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
  574. </member>
  575. <member name="P:System.IO.Pipelines.StreamPipeWriterOptions.MinimumBufferSize">
  576. <summary>Gets the minimum buffer size to use when renting memory from the <see cref="P:System.IO.Pipelines.StreamPipeWriterOptions.Pool" />.</summary>
  577. <value>An integer representing the minimum buffer size.</value>
  578. </member>
  579. <member name="P:System.IO.Pipelines.StreamPipeWriterOptions.Pool">
  580. <summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> to use when allocating memory.</summary>
  581. <value>A memory pool instance.</value>
  582. </member>
  583. <member name="P:System.IO.Pipelines.StreamPipeWriterOptions.LeaveOpen">
  584. <summary>Gets the value that indicates if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes.</summary>
  585. <value><see langword="true" /> if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes; otherwise, <see langword="false" />.</value>
  586. </member>
  587. <member name="T:System.IO.StreamHelpers">
  588. <summary>Provides methods to help in the implementation of Stream-derived types.</summary>
  589. </member>
  590. <member name="M:System.IO.StreamHelpers.ValidateCopyToArgs(System.IO.Stream,System.IO.Stream,System.Int32)">
  591. <summary>Validate the arguments to CopyTo, as would Stream.CopyTo.</summary>
  592. </member>
  593. <member name="P:System.SR.AdvanceToInvalidCursor">
  594. <summary>The PipeReader has already advanced past the provided position.</summary>
  595. </member>
  596. <member name="P:System.SR.ArgumentOutOfRange_NeedPosNum">
  597. <summary>Positive number required.</summary>
  598. </member>
  599. <member name="P:System.SR.ConcurrentOperationsNotSupported">
  600. <summary>Concurrent reads or writes are not supported.</summary>
  601. </member>
  602. <member name="P:System.SR.FlushCanceledOnPipeWriter">
  603. <summary>Flush was canceled on underlying PipeWriter.</summary>
  604. </member>
  605. <member name="P:System.SR.GetResultBeforeCompleted">
  606. <summary>Can't GetResult unless awaiter is completed.</summary>
  607. </member>
  608. <member name="P:System.SR.InvalidExaminedOrConsumedPosition">
  609. <summary>The examined position must be greater than or equal to the consumed position.</summary>
  610. </member>
  611. <member name="P:System.SR.InvalidExaminedPosition">
  612. <summary>The examined position cannot be less than the previously examined position.</summary>
  613. </member>
  614. <member name="P:System.SR.InvalidZeroByteRead">
  615. <summary>The PipeReader returned 0 bytes when the ReadResult was not completed or canceled.</summary>
  616. </member>
  617. <member name="P:System.SR.ObjectDisposed_StreamClosed">
  618. <summary>Cannot access a closed stream.</summary>
  619. </member>
  620. <member name="P:System.SR.NoReadingOperationToComplete">
  621. <summary>No reading operation to complete.</summary>
  622. </member>
  623. <member name="P:System.SR.NotSupported_UnreadableStream">
  624. <summary>Stream does not support reading.</summary>
  625. </member>
  626. <member name="P:System.SR.NotSupported_UnwritableStream">
  627. <summary>Stream does not support writing.</summary>
  628. </member>
  629. <member name="P:System.SR.ReadCanceledOnPipeReader">
  630. <summary>Read was canceled on underlying PipeReader.</summary>
  631. </member>
  632. <member name="P:System.SR.ReaderAndWriterHasToBeCompleted">
  633. <summary>Both reader and writer has to be completed to be able to reset the pipe.</summary>
  634. </member>
  635. <member name="P:System.SR.ReadingAfterCompleted">
  636. <summary>Reading is not allowed after reader was completed.</summary>
  637. </member>
  638. <member name="P:System.SR.ReadingIsInProgress">
  639. <summary>Reading is already in progress.</summary>
  640. </member>
  641. <member name="P:System.SR.WritingAfterCompleted">
  642. <summary>Writing is not allowed after writer was completed.</summary>
  643. </member>
  644. <member name="P:System.SR.UnflushedBytesNotSupported">
  645. <summary>UnflushedBytes is not supported.</summary>
  646. </member>
  647. <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
  648. <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
  649. </member>
  650. <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
  651. <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
  652. </member>
  653. <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
  654. <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
  655. </member>
  656. <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
  657. <summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
  658. </member>
  659. <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
  660. <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
  661. </member>
  662. <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
  663. <summary>Initializes the attribute with the specified return value condition.</summary>
  664. <param name="returnValue">
  665. The return value condition. If the method returns this value, the associated parameter may be null.
  666. </param>
  667. </member>
  668. <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
  669. <summary>Gets the return value condition.</summary>
  670. </member>
  671. <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
  672. <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
  673. </member>
  674. <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
  675. <summary>Initializes the attribute with the specified return value condition.</summary>
  676. <param name="returnValue">
  677. The return value condition. If the method returns this value, the associated parameter will not be null.
  678. </param>
  679. </member>
  680. <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
  681. <summary>Gets the return value condition.</summary>
  682. </member>
  683. <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
  684. <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
  685. </member>
  686. <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
  687. <summary>Initializes the attribute with the associated parameter name.</summary>
  688. <param name="parameterName">
  689. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
  690. </param>
  691. </member>
  692. <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
  693. <summary>Gets the associated parameter name.</summary>
  694. </member>
  695. <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
  696. <summary>Applied to a method that will never return under any circumstance.</summary>
  697. </member>
  698. <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
  699. <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
  700. </member>
  701. <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
  702. <summary>Initializes the attribute with the specified parameter value.</summary>
  703. <param name="parameterValue">
  704. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
  705. the associated parameter matches this value.
  706. </param>
  707. </member>
  708. <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
  709. <summary>Gets the condition parameter value.</summary>
  710. </member>
  711. <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
  712. <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
  713. </member>
  714. <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
  715. <summary>Initializes the attribute with a field or property member.</summary>
  716. <param name="member">
  717. The field or property member that is promised to be not-null.
  718. </param>
  719. </member>
  720. <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
  721. <summary>Initializes the attribute with the list of field and property members.</summary>
  722. <param name="members">
  723. The list of field and property members that are promised to be not-null.
  724. </param>
  725. </member>
  726. <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
  727. <summary>Gets field or property member names.</summary>
  728. </member>
  729. <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
  730. <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
  731. </member>
  732. <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
  733. <summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
  734. <param name="returnValue">
  735. The return value condition. If the method returns this value, the associated parameter will not be null.
  736. </param>
  737. <param name="member">
  738. The field or property member that is promised to be not-null.
  739. </param>
  740. </member>
  741. <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
  742. <summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
  743. <param name="returnValue">
  744. The return value condition. If the method returns this value, the associated parameter will not be null.
  745. </param>
  746. <param name="members">
  747. The list of field and property members that are promised to be not-null.
  748. </param>
  749. </member>
  750. <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
  751. <summary>Gets the return value condition.</summary>
  752. </member>
  753. <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
  754. <summary>Gets field or property member names.</summary>
  755. </member>
  756. </members>
  757. </doc>