public override Task SendAsync(ArraySegment<byte> buffer,
WebSocketMessageType messageType,
bool endOfMessage,
CancellationToken cancellationToken)
{
if (messageType != WebSocketMessageType.Binary &&
messageType != WebSocketMessageType.Text)
{
throw new ArgumentException(SR.Format(SR.net_WebSockets_Argument_InvalidMessageType,
messageType,
nameof(SendAsync),
WebSocketMessageType.Binary,
WebSocketMessageType.Text,
nameof(CloseOutputAsync)),
nameof(messageType));
}
WebSocketValidate.ValidateArraySegment<byte>(buffer, nameof(buffer));
return SendAsyncCore(buffer, messageType, endOfMessage, cancellationToken);
}