public static ChannelDescription DeserializeLengthDelimited(Stream stream) { ChannelDescription channelDescription = new ChannelDescription(); ChannelDescription.DeserializeLengthDelimited(stream, channelDescription); return(channelDescription); }
public static ChannelInfo Deserialize(Stream stream, ChannelInfo instance, long limit) { if (instance.Member == null) { instance.Member = new List <bnet.protocol.channel.Member>(); } while (true) { if (limit < (long)0 || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= (long)0) { throw new EndOfStreamException(); } break; } else if (num != 10) { if (num == 18) { instance.Member.Add(bnet.protocol.channel.Member.DeserializeLengthDelimited(stream)); } else { Key key = ProtocolParser.ReadKey((byte)num, stream); if (key.Field == 0) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } } else if (instance.Description != null) { ChannelDescription.DeserializeLengthDelimited(stream, instance.Description); } else { instance.Description = ChannelDescription.DeserializeLengthDelimited(stream); } } else { if (stream.Position != limit) { throw new ProtocolBufferException("Read past max limit"); } break; } } return(instance); }
public static ChannelInfo Deserialize(Stream stream, ChannelInfo instance, long limit) { if (instance.Member == null) { instance.Member = new List <Member>(); } while (limit < 0L || stream.get_Position() < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else { int num2 = num; if (num2 != 10) { if (num2 != 18) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } else { instance.Member.Add(bnet.protocol.channel.Member.DeserializeLengthDelimited(stream)); } } else if (instance.Description == null) { instance.Description = ChannelDescription.DeserializeLengthDelimited(stream); } else { ChannelDescription.DeserializeLengthDelimited(stream, instance.Description); } } } if (stream.get_Position() == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }
public static FindChannelResponse Deserialize(Stream stream, FindChannelResponse instance, long limit) { if (instance.Channel == null) { instance.Channel = new List <ChannelDescription>(); } while (limit < 0L || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else if (num != 10) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } else { instance.Channel.Add(ChannelDescription.DeserializeLengthDelimited(stream)); } } if (stream.Position == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }