public void Send(IMessageReader reader) { int bytesRead = 0; byte[] buffer = new byte[1024]; do { bytesRead = reader.Read(buffer, 0, buffer.Length); } while (bytesRead > 0); }
private void ConvertHeaders(IMessageReader input, IMessageBuilder output) { var headerCount = input.ItemCount; output.BeginHeaders(headerCount); for (; headerCount > 0; headerCount--) { input.Read(); output.WriteHeader(input.PropertyName, input.StringValue); } output.EndHeaders(); }
public void ReadLoop(IMessageReader reader) { while (true) { var message = reader.Read(); if (message != null) { if (_tasks.ContainsKey(message.StreamId)) { _tasks[message.StreamId].SetResult(message); } } } }
private void ConvertArrayContent(IMessageReader reader, IObjectBuilder builder) { var itemCount = reader.ItemCount; builder.BeginArray(itemCount); for (; itemCount > 0; itemCount--) { builder.BeginItem(); reader.Read(); ConvertValue(reader, builder); builder.EndItem(); } builder.EndArray(); }
private void ConvertStructContent(IMessageReader reader, IObjectBuilder builder) { var elementCount = reader.ItemCount; builder.BeginStruct(reader.ItemCount); for (; elementCount > 0; elementCount--) { builder.BeginItem(); reader.Read(); builder.WritePropertyName(reader.PropertyName); ConvertValue(reader, builder); builder.EndItem(); } builder.EndStruct(); }
public void Convert(IMessageReader input, IMessageBuilder output) { if (!input.Read()) { throw new ProtocolException("Packet Header not recognized."); } output.BeginMessage(input.MessageType); input.Read(); if (input.ReadState == ReadState.Headers) { ConvertHeaders(input, output); input.Read(); } output.BeginContent(); if (input.MessageType == MessageType.Request) { input.Read(); output.SetMethod(input.StringValue); input.Read(); ConvertArrayContent(input, output); } else { while(input.Read() && input.ReadState == ReadState.Body) { ConvertValue(input, output); } } output.EndContent(); output.EndMessage(); input.Read(); if (input.ReadState != ReadState.EndOfFile) { throw new ProtocolException("Expected EndOfFile"); } }
public void Convert(IMessageReader input, IMessageBuilder output) { if (!input.Read()) { throw new ProtocolException("Packet Header not recognized."); } output.BeginMessage(input.MessageType); input.Read(); if (input.ReadState == ReadState.Headers) { ConvertHeaders(input, output); input.Read(); } output.BeginContent(); if (input.MessageType == MessageType.Request) { input.Read(); output.SetMethod(input.StringValue); input.Read(); ConvertArrayContent(input, output); } else { while (input.Read() && input.ReadState == ReadState.Body) { ConvertValue(input, output); } } output.EndContent(); output.EndMessage(); input.Read(); if (input.ReadState != ReadState.EndOfFile) { throw new ProtocolException("Expected EndOfFile"); } }
public IMessage Read() => _messageReader.Read();
private static void Read(IMessageReader reader) { Log.Info("connecting..."); try { using(reader) { Message message; while((message = reader.Read()) != null) { Log.Info(message.ToString()); } } Log.Info("disconnected"); } catch(Exception exc) { Log.Error(exc); } }
public static MessageContent Read(Message message) { IMessageReader reader = GetReader(message); return(reader.Read(message)); }
/// <inheritdoc /> public IStringMessage Read() => _messageReader.Read();