SponsoredPeer.deserialize constructor

SponsoredPeer.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory SponsoredPeer.deserialize(BinaryReader reader) {
  // Read [SponsoredPeer] fields.
  final flags = reader.readInt32();
  final randomId = reader.readBytes();
  final peer = reader.readObject() as PeerBase;
  final hasSponsorInfoField = (flags & 1) != 0;
  final sponsorInfo = hasSponsorInfoField ? reader.readString() : null;
  final hasAdditionalInfoField = (flags & 2) != 0;
  final additionalInfo = hasAdditionalInfoField ? reader.readString() : null;

  // Construct [SponsoredPeer] object.
  final returnValue = SponsoredPeer(
    randomId: randomId,
    peer: peer,
    sponsorInfo: sponsorInfo,
    additionalInfo: additionalInfo,
  );

  // Now return the deserialized [SponsoredPeer].
  return returnValue;
}