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");
+
+    }
+}