package tl.messages;
import tl.TL;
import java.nio.ByteBuffer;
public class StatedMessageLink extends tl.messages.TStatedMessage {
public StatedMessageLink(ByteBuffer buffer) throws Exception {
message = (tl.TMessage) TL.read(buffer);
chats = TL.readVector(buffer, true, new tl.TChat[0]);
users = TL.readVector(buffer, true, new tl.TUser[0]);
links = TL.readVector(buffer, true, new tl.contacts.TLink[0]);
pts = buffer.getInt();
seq = buffer.getInt();
}
public StatedMessageLink(tl.TMessage message, tl.TChat[] chats, tl.TUser[] users, tl.contacts.TLink[] links, int pts, int seq) {
this.message = message;
this.chats = chats;
this.users = users;
this.links = links;
this.pts = pts;
this.seq = seq;
}
public ByteBuffer writeTo(ByteBuffer buffer, boolean boxed) throws Exception {
int oldPos = buffer.position();
if (boxed) {
buffer.putInt(0xa9af2881);
}
message.writeTo(buffer, true);
TL.writeVector(buffer, chats, true, true);
TL.writeVector(buffer, users, true, true);
TL.writeVector(buffer, links, true, true);
buffer.putInt(pts);
buffer.putInt(seq);
if (oldPos + length() + (boxed ? 4 : 0) != buffer.position()) {
System.err.println("Invalid length at StatedMessageLink: expected " + (length() + (boxed ? 4 : 0)) + " bytes, got " + (buffer.position() - oldPos));
}
return buffer;
}
public int length() throws Exception {
return 36 + message.length() + TL.length(chats) + TL.length(users) + TL.length(links);
}
public String toString() {
return "(messages.statedMessageLink message:" + message + " chats:" + TL.toString(chats) + " users:" + TL.toString(users) + " links:" + TL.toString(links) + " pts:" + pts + " seq:" + seq + ")";
}
}