https://github.com/sea-boat/mysql-protocol
MySQL's EOF package is used to indicate the end of query results.
Type | Name | Description |
---|---|---|
int<3> | payload length | Stored according to the least significant byte first, 3-byte payload and 1-byte sequence number combination Into the message header |
int<1> | sequence number | |
payload | Message body, the length is the previously specified payload length |
Payload
Type Name Description int<1> header [fe] EOF header if capabilities & CLIENT_PROTOCOL_41 { int<2> warnings number of warnings int<2> status_flags Status Flags }
/** * * <pre class="brush:php;toolbar:false"><b>mysql eof packet.</b>* @author *
seaboat*
<b>email: </b>849586227@qq.com*
<b>blog: </b>http://www.php.cn/;/pre> * @version 1.0 * @see http://www.php.cn/ */public class EOFPacket extends MySQLPacket { public byte header = (byte) 0xfe; public int warningCount; public int status = 2; @Override public void read(byte[] data) { MySQLMessage mm = new MySQLMessage(data); packetLength = mm.readUB3(); packetId = mm.read(); header = mm.read(); warningCount = mm.readUB2(); status = mm.readUB2(); } @Override public void write(ByteBuffer buffer) { int size = calcPacketSize(); BufferUtil.writeUB3(buffer, size); buffer.put(packetId); buffer.put(header); BufferUtil.writeUB2(buffer, warningCount); BufferUtil.writeUB2(buffer, status); } @Override public int calcPacketSize() { return 5; } @Override protected String getPacketInfo() { return "MySQL EOF Packet"; } }