1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.db.protocol.mysql.packet.binlog;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.ToString;
23 import org.apache.shardingsphere.db.protocol.mysql.packet.MySQLPacket;
24 import org.apache.shardingsphere.db.protocol.mysql.payload.MySQLPacketPayload;
25
26
27
28
29
30
31 @RequiredArgsConstructor
32 @Getter
33 @ToString
34 public final class MySQLBinlogEventHeader extends MySQLPacket {
35
36
37
38
39 public static final int MYSQL_BINLOG_EVENT_HEADER_LENGTH = 19;
40
41 private final int timestamp;
42
43 private final int eventType;
44
45 private final int serverId;
46
47
48
49
50 private final int eventSize;
51
52 private final int logPos;
53
54 private final int flags;
55
56 private final int checksumLength;
57
58 public MySQLBinlogEventHeader(final MySQLPacketPayload payload, final int checksumLength) {
59 timestamp = payload.readInt4();
60 eventType = payload.readInt1();
61 serverId = payload.readInt4();
62 eventSize = payload.readInt4();
63 logPos = payload.readInt4();
64 flags = payload.readInt2();
65 this.checksumLength = checksumLength;
66 }
67
68 @Override
69 protected void write(final MySQLPacketPayload payload) {
70 payload.writeInt4(timestamp);
71 payload.writeInt1(eventType);
72 payload.writeInt4(serverId);
73 payload.writeInt4(eventSize);
74 payload.writeInt4(logPos);
75 payload.writeInt2(flags);
76 }
77 }