package me.xcoding.opencdc.binlog.event.management;
import me.xcoding.opencdc.binlog.EventContext;
import me.xcoding.opencdc.binlog.event.Event;
import me.xcoding.opencdc.binlog.parser.EventParser;
import me.xcoding.opencdc.mysql.protocol.BasicReader;
/**
*
* @author Teny ZH(zh.Teny.1@gmail.com)
* @see http://dev.mysql.com/doc/internals/en/format-description-event.html
*
*/
// typecode = 15
public class FormatDescriptionEvent extends Event implements EventParser {
private int binlogVersion;
private String serverVersion;
private long timestamp;
// @see Event type header lengths by binlog version.
private byte[] eventTypeHeaderLen;
@Override
public FormatDescriptionEvent parser(EventContext context, BasicReader reader) {
binlogVersion = reader.readFixedIntT2();
serverVersion = reader.readStringFixLen(50);
timestamp = (reader.readFixedIntT4() & BasicReader._8F) * 1000l;
reader.readFixedIntT1();
eventTypeHeaderLen = reader.readBytesEOF();
context.setEventType(eventTypeHeaderLen);
return this;
}
public int getBinlogVersion() {
return binlogVersion;
}
public String getServerVersion() {
return serverVersion;
}
public long getTimestamp() {
return timestamp;
}
public byte[] getEventType() {
return eventTypeHeaderLen;
}
}