private async Task <NodeGreetingMessage> ReadGreetingAsync(CancellationToken cancellationToken) { var read = await _streamSocket.ReadAsync(_singleByteBuffer, 0, 1, cancellationToken).ConfigureAwait(false); if (read == 0) { throw new RedFoxProtocolException("Error receiving greeting message from remote machine"); } var headerLength = _singleByteBuffer[0]; var header = new byte[headerLength]; var offset = 0; while (headerLength - offset > 0) { read = await _streamSocket.ReadAsync(header, offset, headerLength - offset, cancellationToken); if (read == 0) { throw new RedFoxProtocolException("Error receiving greeting message from remote machine"); } offset += read; } return(NodeGreetingMessage.DeserializeWithoutLength(header)); }
private NodeGreetingMessage ReadGreeting() { var read = _streamSocket.Read(_singleByteBuffer, 0, 1); if (read == 0) { throw new RedFoxProtocolException("Error receiving greeting message from remote machine"); } var headerLength = _singleByteBuffer[0]; var header = new byte[headerLength]; var offset = 0; while (headerLength - offset > 0) { read = _streamSocket.Read(header, offset, headerLength - offset); if (read == 0) { throw new RedFoxProtocolException("Error receiving greeting message from remote machine"); } offset += read; } return(NodeGreetingMessage.DeserializeWithoutLength(header)); }
private NodeGreetingMessage ReadGreeting() { var messageFrame = _queueSocket.Read(); return(NodeGreetingMessage.DeserializeWithoutLength(messageFrame.RawMessage, 1)); }