DcOption.deserialize constructor
DcOption.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory DcOption.deserialize(BinaryReader reader) {
// Read [DcOption] fields.
final flags = reader.readInt32();
final ipv6 = (flags & 1) != 0;
final mediaOnly = (flags & 2) != 0;
final tcpoOnly = (flags & 4) != 0;
final cdn = (flags & 8) != 0;
final static = (flags & 16) != 0;
final thisPortOnly = (flags & 32) != 0;
final id = reader.readInt32();
final ipAddress = reader.readString();
final port = reader.readInt32();
final hasSecretField = (flags & 1024) != 0;
final secret = hasSecretField ? reader.readBytes() : null;
// Construct [DcOption] object.
final returnValue = DcOption(
ipv6: ipv6,
mediaOnly: mediaOnly,
tcpoOnly: tcpoOnly,
cdn: cdn,
static: static,
thisPortOnly: thisPortOnly,
id: id,
ipAddress: ipAddress,
port: port,
secret: secret,
);
// Now return the deserialized [DcOption].
return returnValue;
}