static { int i = 0; byte packetId = 0; header.packetId = ++packetId; fields[i] = PacketUtil.getField("@@session.auto_increment_increment", Fields.FIELD_TYPE_LONG); fields[i++].packetId = ++packetId; eof.packetId = ++packetId; }
static { int i = 0; byte packetId = 0; header.packetId = ++packetId; fields[i] = PacketUtil.getField("VERSION", Fields.FIELD_TYPE_STRING); fields[i++].packetId = ++packetId; eof.packetId = ++packetId; }
public static void response(FrontSession session) { ByteBuf buffer = session.allocate(128, 1024); buffer = header.write(buffer); for (FieldPacket field : fields) { buffer = field.write(buffer); } buffer = eof.write(buffer); byte packetId = eof.packetId; RowDataPacket row = new RowDataPacket(FIELD_COUNT); row.add(LongUtil.toBytes(1)); row.packetId = ++packetId; buffer = row.write(buffer); EOFPacket lastEof = new EOFPacket(); lastEof.packetId = ++packetId; buffer = lastEof.write(buffer); session.write(buffer); }
public static void execute(ProtocolTransport transport) { // ByteBuf buffer = transport.out; // write header // header.write(buffer); byte[] headerBytes = header.getPacket(); // transport.getChannel().writeAndFlush(header.getPacket()); // write fields for (FieldPacket field : fields) { // field.write(buffer); transport.getChannel().writeAndFlush(field.getPacket()); } // write eof // eof.write(buffer); transport.getChannel().writeAndFlush(eof.getPacket()); // write rows byte packetId = eof.packetId; RowDataPacket row = new RowDataPacket(FIELD_COUNT); row.add(Versions.SERVER_VERSION); row.packetId = ++packetId; // row.write(buffer); // transport.getChannel().writeAndFlush(row.getPacket()); // write last eof EOFPacket lastEof = new EOFPacket(); lastEof.packetId = ++packetId; lastEof.write(transport.out); // transport.getChannel().writeAndFlush(transport.out); // ctx.writeAndFlush(transport.out); // transport.in.release(); // System.out.println("byte[] is : " + buffer.array()); // try { // transport.getOutputStream().write(buffer.array()); // } catch (IOException e) { // e.printStackTrace(); // } // transport.getChannel().flush(); }