예제 #1
0
 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);
 }
예제 #2
0
 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;
 }
예제 #3
0
  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();
  }
예제 #4
0
  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;
  }