public T Decode <T>() { if (_codec.Wrap) { Multicodec.ConsumeHeader(_stream, _codec.Header); } var hdr = Multicodec.PeekHeader(_stream); if (hdr == null || hdr.Length == 0) { throw new EndOfStreamException(); } var subcodec = _codec._codecs.SingleOrDefault(c => c.Header.SequenceEqual(hdr)); if (subcodec == null) { throw new Exception($"no codec found for {Encoding.UTF8.GetString(hdr)}"); } _codec.Last = subcodec; return(subcodec.Decoder(_stream).Decode <T>()); }
public T Decode <T>() { if (_codec._multicodec) { Multicodec.ConsumeHeader(_stream, _codec.Header); } return(CBORObject.Read(_stream).ToObject <T>()); }
public T Decode<T>() { if (_codec._multicodec) Multicodec.ConsumeHeader(_stream, _codec.Header); var bytes = MessageIo.ReadMessage(_stream); return (T)(object)bytes; }
public T Decode <T>() { if (_codec._multicodec) { Multicodec.ConsumeHeader(_stream, _codec.Header); } var cbor = CBORObject.Read(_stream); return(JsonConvert.DeserializeObject <T>(cbor.ToJSONString())); }
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 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); }