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

◆ SendFrameFallbackAsync()

async ValueTask System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync ( MessageOpcode opcode,
bool endOfMessage,
bool disableCompression,
ReadOnlyMemory< byte > payloadBuffer,
Task lockTask,
CancellationToken cancellationToken )
inlineprivate

Definition at line 906 of file ManagedWebSocket.cs.

907 {
908 await lockTask.ConfigureAwait(continueOnCapturedContext: false);
909 try
910 {
911 int length = WriteFrameToSendBuffer(opcode, endOfMessage, disableCompression, payloadBuffer.Span);
912 using (cancellationToken.Register(delegate(object s)
913 {
914 ((ManagedWebSocket)s).Abort();
915 }, this))
916 {
917 await _stream.WriteAsync(new ReadOnlyMemory<byte>(_sendBuffer, 0, length), cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
918 }
919 }
920 catch (Exception ex) when (!(ex is OperationCanceledException))
921 {
922 throw (_state == WebSocketState.Aborted) ? CreateOperationCanceledException(ex, cancellationToken) : new WebSocketException(WebSocketError.ConnectionClosedPrematurely, ex);
923 }
924 finally
925 {
928 }
929 }
Task WriteAsync(byte[] buffer, int offset, int count)
Definition Stream.cs:914
ManagedWebSocket(Stream stream, bool isServer, string subprotocol, TimeSpan keepAliveInterval)
static Exception CreateOperationCanceledException(Exception innerException, CancellationToken cancellationToken=default(CancellationToken))
int WriteFrameToSendBuffer(MessageOpcode opcode, bool endOfMessage, bool disableCompression, ReadOnlySpan< byte > payloadBuffer)
new ConfiguredTaskAwaitable< TResult > ConfigureAwait(bool continueOnCapturedContext)
Definition Task.cs:226
unsafe ReadOnlySpan< T > Span

References System.Net.WebSockets.ManagedWebSocket.ManagedWebSocket(), System.Net.WebSockets.ManagedWebSocket._sendBuffer, System.Net.WebSockets.ManagedWebSocket._sendMutex, System.Net.WebSockets.ManagedWebSocket._state, System.Net.WebSockets.ManagedWebSocket._stream, System.cancellationToken, System.Threading.Tasks.Task< TResult >.ConfigureAwait(), System.Net.WebSockets.ManagedWebSocket.CreateOperationCanceledException(), System.Threading.AsyncMutex.Exit(), System.length, System.Net.WebSockets.ManagedWebSocket.ReleaseSendBuffer(), System.s, System.ReadOnlyMemory< T >.Span, System.IO.Stream.WriteAsync(), and System.Net.WebSockets.ManagedWebSocket.WriteFrameToSendBuffer().

Referenced by System.Net.WebSockets.ManagedWebSocket.SendFrameAsync().