ValidateCloseStatus() static private method

static private ValidateCloseStatus ( WebSocketCloseStatus closeStatus, string statusDescription ) : void
closeStatus WebSocketCloseStatus
statusDescription string
return void
示例#1
0
 public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription,
                                       CancellationToken cancellationToken)
 {
     ThrowIfNotConnected();
     WebSocketValidate.ValidateCloseStatus(closeStatus, statusDescription);
     return(_innerWebSocket.CloseOutputAsync(closeStatus, statusDescription, cancellationToken));
 }
 public Task CloseOutputAsync(
     WebSocketCloseStatus closeStatus,
     string statusDescription,
     CancellationToken cancellationToken)
 {
     WebSocketValidate.ValidateCloseStatus(closeStatus, statusDescription);
     return(_webSocket.CloseOutputAsync(closeStatus, statusDescription, cancellationToken));
 }
示例#3
0
        public override Task CloseAsync(WebSocketCloseStatus closeStatus, string?statusDescription, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            ThrowIfDisposed();

            WebSocketValidate.ValidateCloseStatus(closeStatus, statusDescription);

            var state = State;

            if (state == WebSocketState.None || state == WebSocketState.Closed)
            {
                throw new WebSocketException(WebSocketError.InvalidState, SR.Format(SR.net_WebSockets_InvalidState, state, "Connecting, Open, CloseSent, Aborted"));
            }

            return(state == WebSocketState.Open || state == WebSocketState.Connecting || state == WebSocketState.Aborted || state == WebSocketState.CloseSent
                ? CloseAsyncCore(closeStatus, statusDescription, state != WebSocketState.Aborted, cancellationToken)
                : Task.CompletedTask);
        }