# HG changeset patch # User gongo # Date 1219653537 -32400 # Node ID c3634084508da6ee7597bbfe5c638e7f83a12139 # Parent 8d73102deff67357f8bce154cdfb9d87defaf14f *** empty log message *** diff -r 8d73102deff6 -r c3634084508d test/packet/redit-test-packet-recv.el --- a/test/packet/redit-test-packet-recv.el Sat Aug 23 18:11:26 2008 +0900 +++ b/test/packet/redit-test-packet-recv.el Mon Aug 25 17:38:57 2008 +0900 @@ -12,10 +12,10 @@ (defun redit-test-unpack-int-loop (pkt pos count) - (if (> count 1) + (if (> count 0) (+ - (* (redit-test-unpack-int-loop pkt (- pos 1) (- count 1)) 256) - (string-to-char (substring pkt (- pos 1) pos))) + (* (string-to-char (substring pkt pos (1+ pos))) (expt 256 (1- count))) + (redit-test-unpack-int-loop pkt (1+ pos) (1- count))) 0 )) @@ -31,24 +31,25 @@ (substring pkt (* pos 4) (+ (* pos 4) length))) (defun rep-test-get-command-from-pkt (pkt) + (redit-test-unpack-int pkt 0)) +(defun rep-test-get-session-id-from-pkt (pkt) (redit-test-unpack-int pkt 1)) -(defun rep-test-get-session-id-from-pkt (pkt) +(defun rep-test-get-editor-id-from-pkt (pkt) (redit-test-unpack-int pkt 2)) -(defun rep-test-get-editor-id-from-pkt (pkt) - (redit-test-unpack-int pkt 3)) (defun rep-test-get-sequence-id-from-pkt (pkt) + (redit-test-unpack-int pkt 3)) +(defun rep-test-get-line-number-from-pkt (pkt) (redit-test-unpack-int pkt 4)) -(defun rep-test-get-line-number-from-pkt (pkt) +(defun rep-test-get-text-size-from-pkt (pkt) (redit-test-unpack-int pkt 5)) -(defun rep-test-get-text-size-from-pkt (pkt) - (redit-test-unpack-int pkt 6)) ;; text のサイズが指定されていればそれを使い、 ;; そうでなければ、get-text-size-from-pkt を実行する (defun rep-test-get-text-from-pkt (pkt &optional _siz) - (let (size) + (let ((size) (text)) (setq size (if (null _siz) (rep-test-get-text-size-from-pkt pkt) _siz)) - (redit-test-unpack-str pkt 6 size))) + (setq text (substring pkt 24 (+ 24 size))) + (decode-coding-string text 'utf-8))) ;; process (send.pl) を起動する。 @@ -99,6 +100,9 @@ (setq seq (rep-test-get-sequence-id-from-pkt string)) (setq lno (rep-test-get-line-number-from-pkt string)) (setq siz (rep-test-get-text-size-from-pkt string)) + + (message (format "%d %d %d %d %d %d\n" + cmd sid eid seq lno siz)) ;; ヘッダ(redit-test-command-header-size) + テキストサイズ (setq cursize (+ redit-test-command-header-size siz)) @@ -110,8 +114,7 @@ (setq txt (rep-test-get-text-from-pkt string siz)) (insert (format "%d %d %d %d %d %d %s\n" - cmd sid eid seq lno siz - (decode-coding-string txt 'utf-8))) + cmd sid eid seq lno siz txt)) (insert (format "残り %d byte\n" (- allsize cursize))) (setq allsize (- allsize cursize)) diff -r 8d73102deff6 -r c3634084508d test/packet/redit-test-packet-send.pl --- a/test/packet/redit-test-packet-send.pl Sat Aug 23 18:11:26 2008 +0900 +++ b/test/packet/redit-test-packet-send.pl Mon Aug 25 17:38:57 2008 +0900 @@ -7,7 +7,7 @@ my $selector = new IO::Select(\*STDIN) or die "Cannot select stdin : $!\n"; # パケット送信する回数 -my $send_count = 10000; +my $send_count = 10; # パケット送信の間隔(秒) my $send_interval = 0; @@ -20,7 +20,7 @@ @strarr = ('あいうえお', 'abcdefg', 'ひゃしゃjさいsn', 'さんまんま', 'gongo', '琉球大学', '宜野湾農工大学', 'ほいほい', - '☆ふほほ'); + '☆ふほほ', 'あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ'); $strsiz = @strarr; # パケット送信のトリガー(?)的な意味なので