MessagesMessagesSlice.deserialize constructor

MessagesMessagesSlice.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessagesMessagesSlice.deserialize(BinaryReader reader) {
  // Read [MessagesMessagesSlice] fields.
  final flags = reader.readInt32();
  final inexact = (flags & 2) != 0;
  final count = reader.readInt32();
  final hasNextRateField = (flags & 1) != 0;
  final nextRate = hasNextRateField ? reader.readInt32() : null;
  final hasOffsetIdOffsetField = (flags & 4) != 0;
  final offsetIdOffset = hasOffsetIdOffsetField ? reader.readInt32() : null;
  final hasSearchFloodField = (flags & 8) != 0;
  final searchFlood = hasSearchFloodField
      ? reader.readObject() as SearchPostsFloodBase
      : null;
  final messages = reader.readVectorObject<MessageBase>();
  final topics = reader.readVectorObject<ForumTopicBase>();
  final chats = reader.readVectorObject<ChatBase>();
  final users = reader.readVectorObject<UserBase>();

  // Construct [MessagesMessagesSlice] object.
  final returnValue = MessagesMessagesSlice(
    inexact: inexact,
    count: count,
    nextRate: nextRate,
    offsetIdOffset: offsetIdOffset,
    searchFlood: searchFlood,
    messages: messages.items,
    topics: topics.items,
    chats: chats.items,
    users: users.items,
  );

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