read method
Reads the TObject from the given input protocol.
Implementation
read(TProtocol iprot) {
TField field;
iprot.readStructBegin();
while (true) {
field = iprot.readFieldBegin();
if (field.type == TType.STOP) {
break;
}
switch (field.id) {
case PART_ID:
if (field.type == TType.I32) {
this.part_id = iprot.readI32();
this.__isset_part_id = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case LEADER:
if (field.type == TType.STRUCT) {
this.leader = new t_nebula.HostAddr();
this.leader?.read(iprot);
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case PEERS:
if (field.type == TType.LIST) {
{
TList _list116 = iprot.readListBegin();
this.peers = <t_nebula.HostAddr>[];
for (int _i117 = 0; _i117 < _list116.length; ++_i117) {
t_nebula.HostAddr _elem118;
_elem118 = new t_nebula.HostAddr();
_elem118.read(iprot);
this.peers?.add(_elem118);
}
iprot.readListEnd();
}
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case LOSTS:
if (field.type == TType.LIST) {
{
TList _list119 = iprot.readListBegin();
this.losts = <t_nebula.HostAddr>[];
for (int _i120 = 0; _i120 < _list119.length; ++_i120) {
t_nebula.HostAddr _elem121;
_elem121 = new t_nebula.HostAddr();
_elem121.read(iprot);
this.losts?.add(_elem121);
}
iprot.readListEnd();
}
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
default:
TProtocolUtil.skip(iprot, field.type);
break;
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be checked in the validate method
if (!__isset_part_id) {
throw new TProtocolError(
TProtocolErrorType.UNKNOWN,
"Required field 'part_id' was not found in serialized data! Struct: " +
toString());
}
validate();
}