public async Task<T> DecodeAsync<T>(CancellationToken cancellationToken) { if (_codec._multicodec) await Multicodec.ConsumeHeaderAsync(_stream, _codec.Header, cancellationToken); var bytes = await MessageIo.ReadMessageAsync(_stream, cancellationToken); return (T)(object)bytes; }
public T Decode<T>() { if (_codec._multicodec) Multicodec.ConsumeHeader(_stream, _codec.Header); var bytes = MessageIo.ReadMessage(_stream); return (T)(object)bytes; }
public async Task EncodeAsync<T>(T obj, CancellationToken cancellationToken) { var bytes = (byte[])(object)obj; if (bytes == null) throw new InvalidDataException("input must be byte array"); if (_codec._multicodec) await _stream.WriteAsync(_codec.Header, 0, _codec.Header.Length, cancellationToken); await MessageIo.WriteMessageAsync(_stream, bytes, flush: true, cancellationToken: cancellationToken); }
public void Encode<T>(T obj) { var bytes = (byte[])(object) obj; if (bytes == null) throw new InvalidDataException("input must be byte array"); if (_codec._multicodec) _stream.Write(_codec.Header, 0, _codec.Header.Length); MessageIo.WriteMessage(_stream, bytes, flush: true); }
public async Task <T> DecodeAsync <T>(CancellationToken cancellationToken = default(CancellationToken)) { if (_codec._multicodec) { await Multicodec.ConsumeHeaderAsync(_stream, _codec.Header, cancellationToken); } if (_codec._msgio) { return(Deserialize <T>(await MessageIo.ReadMessageAsync(_stream, cancellationToken))); } return(ProtoBuf.Serializer.DeserializeWithLengthPrefix <T>(_stream, PrefixStyle.Fixed32BigEndian)); }
public T Decode <T>() { if (_codec._multicodec) { Multicodec.ConsumeHeader(_stream, _codec.Header); } if (_codec._msgio) { return(Deserialize <T>(MessageIo.ReadMessage(_stream))); } return(ProtoBuf.Serializer.DeserializeWithLengthPrefix <T>(_stream, PrefixStyle.Fixed32BigEndian)); }
public async Task EncodeAsync<T>(T obj, CancellationToken cancellationToken) { if (_codec._multicodec) await _stream.WriteAsync(_codec.Header, 0, _codec.Header.Length, cancellationToken); if (_codec._msgio) { await MessageIo.WriteMessageAsync(_stream, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(obj, Formatting.None)), cancellationToken: cancellationToken); } else { var bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(obj, Formatting.None) + '\n'); await _stream.WriteAsync(bytes, 0, bytes.Length, cancellationToken); } }
public void Encode<T>(T obj) { if (_codec._multicodec) _stream.Write(_codec.Header, 0, _codec.Header.Length); if (_codec._msgio) { MessageIo.WriteMessage(_stream, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(obj, Formatting.None))); } else { var bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(obj, Formatting.None) + '\n'); _stream.Write(bytes, 0, bytes.Length); } }
public async Task EncodeAsync <T>(T obj, CancellationToken cancellationToken = default(CancellationToken)) { if (_codec._multicodec) { await _stream.WriteAsync(_codec.Header, 0, _codec.Header.Length, cancellationToken); } if (_codec._msgio) { await MessageIo.WriteMessageAsync(_stream, Serialize(obj), cancellationToken : cancellationToken); } else { ProtoBuf.Serializer.SerializeWithLengthPrefix(_stream, obj, PrefixStyle.Fixed32BigEndian); } await _stream.FlushAsync(cancellationToken); }
public void Encode <T>(T obj) { if (_codec._multicodec) { _stream.Write(_codec.Header, 0, _codec.Header.Length); } if (_codec._msgio) { MessageIo.WriteMessage(_stream, Serialize(obj)); } else { ProtoBuf.Serializer.SerializeWithLengthPrefix(_stream, obj, PrefixStyle.Fixed32BigEndian); } _stream.Flush(); }
public async Task<T> DecodeAsync<T>(CancellationToken cancellationToken) { if (_codec._multicodec) await Multicodec.ConsumeHeaderAsync(_stream, _codec.Header, cancellationToken); var json = string.Empty; if (_codec._msgio) { var bytes = await MessageIo.ReadMessageAsync(_stream, cancellationToken); json = Encoding.UTF8.GetString(bytes); } else { json = await ReadLineAsync(_stream, cancellationToken); } return JsonConvert.DeserializeObject<T>(json); }
public T Decode<T>() { if (_codec._multicodec) Multicodec.ConsumeHeader(_stream, _codec.Header); var json = string.Empty; if (_codec._msgio) { var bytes = MessageIo.ReadMessage(_stream); json = Encoding.UTF8.GetString(bytes); } else { json = ReadLine(_stream); } return JsonConvert.DeserializeObject<T>(json); }