예제 #1
0
        public void ReadSingleMessage()
        {
            var messages = new List <HubMessage>();

            if (!_hubProtocol.TryParseMessages(_binaryInput, _binder, messages))
            {
                throw new InvalidOperationException("Failed to read message");
            }
        }
예제 #2
0
        public bool ReadMessages(byte[] input, IInvocationBinder binder, out IList <HubMessage> messages)
        {
            messages = new List <HubMessage>();
            ReadOnlySpan <byte> span = input;

            while (span.Length > 0 && _dataEncoder.TryDecode(ref span, out var data))
            {
                _hubProtocol.TryParseMessages(data, binder, messages);
            }
            return(messages.Count > 0);
        }
예제 #3
0
        public bool ReadMessages(byte[] input, IInvocationBinder binder, out IList <HubMessage> messages)
        {
            var buffer = _dataEncoder.Decode(input);

            return(_hubProtocol.TryParseMessages(buffer, binder, out messages));
        }