Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteAsync()

async ValueTask System.IO.StreamBuffer.WriteAsync ( ReadOnlyMemory< byte > buffer,
CancellationToken cancellationToken = default(CancellationToken) )
inline

Definition at line 161 of file StreamBuffer.cs.

162 {
163 cancellationToken.ThrowIfCancellationRequested();
164 if (buffer.Length == 0)
165 {
166 return;
167 }
168 while (true)
169 {
170 var (flag, start) = TryWriteToBuffer(buffer.Span);
171 if (flag)
172 {
173 buffer = buffer.Slice(start);
174 await _writeTaskSource.WaitAsync(cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
175 continue;
176 }
177 break;
178 }
179 }
ValueTask WaitAsync(CancellationToken cancellationToken)
readonly ResettableValueTaskSource _writeTaskSource
bool int bytesWritten TryWriteToBuffer(ReadOnlySpan< byte > buffer)
ConfiguredValueTaskAwaitable ConfigureAwait(bool continueOnCapturedContext)
Definition ValueTask.cs:312

References System.IO.StreamBuffer._writeTaskSource, System.buffer, System.cancellationToken, System.Threading.Tasks.ValueTask< TResult >.ConfigureAwait(), System.start, System.IO.StreamBuffer.TryWriteToBuffer(), and System.IO.StreamBuffer.ResettableValueTaskSource.WaitAsync().

Referenced by System.Net.Quic.Implementations.Mock.MockStream.WriteAsync().