public static ConnectResponse Deserialize(Stream stream, ConnectResponse instance) { return(ConnectResponse.Deserialize(stream, instance, -1L)); }
public static ConnectResponse Deserialize(Stream stream, ConnectResponse instance, long limit) { 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) { if (num2 != 24) { if (num2 != 34) { if (num2 != 42) { if (num2 != 48) { 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.ServerTime = ProtocolParser.ReadUInt64(stream); } } else if (instance.ContentHandleArray == null) { instance.ContentHandleArray = ConnectionMeteringContentHandles.DeserializeLengthDelimited(stream); } else { ConnectionMeteringContentHandles.DeserializeLengthDelimited(stream, instance.ContentHandleArray); } } else if (instance.BindResponse == null) { instance.BindResponse = BindResponse.DeserializeLengthDelimited(stream); } else { BindResponse.DeserializeLengthDelimited(stream, instance.BindResponse); } } else { instance.BindResult = ProtocolParser.ReadUInt32(stream); } } else if (instance.ClientId == null) { instance.ClientId = ProcessId.DeserializeLengthDelimited(stream); } else { ProcessId.DeserializeLengthDelimited(stream, instance.ClientId); } } else if (instance.ServerId == null) { instance.ServerId = ProcessId.DeserializeLengthDelimited(stream); } else { ProcessId.DeserializeLengthDelimited(stream, instance.ServerId); } } } if (stream.get_Position() == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }
public void Deserialize(Stream stream) { ConnectResponse.Deserialize(stream, this); }