public Message(ArraySegment <byte> buffer, GameSocketMessageType messageType, bool endOfMessage, CancellationToken token) { Buffer = buffer; CloseStatus = null; CloseStatusDescription = null; EndOfMessage = endOfMessage; MessageType = messageType; }
public override Task SendAsync(ArraySegment <byte> buffer, GameSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) { ValidateSegment(buffer); if (messageType != GameSocketMessageType.Binary && messageType != GameSocketMessageType.Text) { // Block control frames throw new ArgumentOutOfRangeException(nameof(messageType), messageType, string.Empty); } var message = new Message(buffer, messageType, endOfMessage, cancellationToken); return(_sendBuffer.SendAsync(message, cancellationToken)); }
private static int EnumToOpCode(GameSocketMessageType gameSocketMessageType) { switch (gameSocketMessageType) { case GameSocketMessageType.Text: return(0x1); case GameSocketMessageType.Binary: return(0x2); case GameSocketMessageType.Close: return(0x8); default: throw new ArgumentOutOfRangeException(nameof(gameSocketMessageType), gameSocketMessageType, string.Empty); } }
public override Task SendAsync(ArraySegment <byte> buffer, GameSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) { return(_sendAsync(buffer, EnumToOpCode(messageType), endOfMessage, cancellationToken)); }