Example #1
0
        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));
        }
Example #2
0
        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));
        }