Mercurial > hg > RemoteEditor > Eclipse
changeset 3:6a447a456e7b
*** empty log message ***
author | fuchita |
---|---|
date | Sun, 22 Oct 2006 14:49:07 +0900 |
parents | 4bc1dad743f0 |
children | fef687d346bc |
files | src/sample/pack/PackTest.java |
diffstat | 1 files changed, 66 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sample/pack/PackTest.java Sun Oct 22 14:49:07 2006 +0900 @@ -0,0 +1,66 @@ +package sample.pack; + + +import java.nio.*; + +public class PackTest { + + static int cmd = 47; + static int eid = 1; + static int lineno = 100; + static int sid = 1; + static int seqid = 32767; + static int textsiz = 5; + + byte REP_INSERT_CMD = 6; + byte REP_INSERT_ACK_CMD = 7; + byte REP_JOIN_CMD = 41; + byte REP_JOIN_ACK_CMD = 42; + byte REP_PUT_CMD = 45; + byte REP_PUT_ACK_CMD = 46; + byte REP_SELECT_CMD = 47; + byte REP_SELECT_ACK_CMD = 48; + byte REP_QUIT_CMD = 53; + byte REP_QUIT_ACK_CMD = 54; + + static byte[] chgBytes( int i ){ + byte[] b = new byte[4] ; + + b[0] = (byte)((i >>> 24 ) & 0xFF); + b[1] = (byte)((i >>> 16 ) & 0xFF); + b[2] = (byte)((i >>> 8 ) & 0xFF); + b[3] = (byte)((i >>> 0 ) & 0xFF); + + return b; + } + + public static ByteBuffer pack(int cmd, int sid, int eid, int seqid, int lineno, String text ) { + byte[] b_cmd = new byte[3]; + byte[] b_sid = new byte[3]; + byte[] b_eid = new byte[3]; + byte[] b_seqid = new byte[3]; + byte[] b_lineno = new byte[3]; + byte[] b_textsiz = new byte[3]; + byte[] textToByte = text.getBytes(); + int textsiz = text.length(); + + b_cmd = chgBytes(cmd); b_sid = chgBytes(sid); b_eid = chgBytes(eid); + b_seqid = chgBytes(seqid); b_lineno = chgBytes(lineno); b_textsiz = chgBytes(textsiz); + + ByteBuffer buffer = ByteBuffer.allocateDirect(24+textsiz); + + buffer.put(b_cmd); buffer.put(b_sid); buffer.put(b_eid); + buffer.put(b_seqid); buffer.put(b_lineno); buffer.put(b_textsiz); + buffer.put(textToByte); + + return buffer; + } + + public static void main(String args[]) { + ByteBuffer testbuf; + + System.out.println("pack unpack test."); + testbuf = pack(cmd, sid, eid, seqid, lineno, "test"); + + } +}