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

◆ SendAsync() [3/3]

override ValueTask System.Net.WebSockets.ManagedWebSocket.SendAsync ( ReadOnlyMemory< byte > buffer,
WebSocketMessageType messageType,
WebSocketMessageFlags messageFlags,
CancellationToken cancellationToken )
inlinevirtual

Reimplemented from System.Net.WebSockets.WebSocket.

Definition at line 737 of file ManagedWebSocket.cs.

738 {
739 if (messageType != 0 && messageType != WebSocketMessageType.Binary)
740 {
741 throw new ArgumentException(System.SR.Format(System.SR.net_WebSockets_Argument_InvalidMessageType, "Close", "SendAsync", "Binary", "Text", "CloseOutputAsync"), "messageType");
742 }
743 try
744 {
745 WebSocketValidate.ThrowIfInvalidState(_state, _disposed, s_validSendStates);
746 }
747 catch (Exception exception)
748 {
750 }
751 bool flag = messageFlags.HasFlag(WebSocketMessageFlags.EndOfMessage);
752 bool flag2 = messageFlags.HasFlag(WebSocketMessageFlags.DisableCompression);
753 MessageOpcode opcode;
755 {
757 {
759 }
760 opcode = MessageOpcode.Continuation;
761 }
762 else
763 {
764 opcode = ((messageType != WebSocketMessageType.Binary) ? MessageOpcode.Text : MessageOpcode.Binary);
765 }
766 ValueTask result = SendFrameAsync(opcode, flag, flag2, buffer, cancellationToken);
767 _lastSendWasFragment = !flag;
769 return result;
770 }
static readonly WebSocketState[] s_validSendStates
ValueTask SendFrameAsync(MessageOpcode opcode, bool endOfMessage, bool disableCompression, ReadOnlyMemory< byte > payloadBuffer, CancellationToken cancellationToken)
static string net_WebSockets_Argument_InvalidMessageType
Definition SR.cs:166
static string net_WebSockets_Argument_MessageFlagsHasDifferentCompressionOptions
Definition SR.cs:80
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7
static Task FromException(Exception exception)
Definition Task.cs:3341

References System.Net.WebSockets.ManagedWebSocket._disposed, System.Net.WebSockets.ManagedWebSocket._lastSendHadDisableCompression, System.Net.WebSockets.ManagedWebSocket._lastSendWasFragment, System.Net.WebSockets.ManagedWebSocket._state, System.buffer, System.cancellationToken, System.exception, System.SR.Format(), System.Threading.Tasks.Task< TResult >.FromException(), System.SR.net_WebSockets_Argument_InvalidMessageType, System.SR.net_WebSockets_Argument_MessageFlagsHasDifferentCompressionOptions, System.Net.WebSockets.ManagedWebSocket.s_validSendStates, System.Net.WebSockets.ManagedWebSocket.SendFrameAsync(), and System.Net.WebSockets.WebSocketValidate.ThrowIfInvalidState().