view test/packet/redit-test-packet-send.pl @ 42:95301aa3ea2f

*** empty log message ***
author gongo
date Fri, 22 Aug 2008 20:27:01 +0900
parents
children 653a9b9b7775
line wrap: on
line source

#!/usr/bin/perl -w

use IO::Select;
use Time::HiRes; # sleep で 1秒未満も扱えるように

my $selector = new IO::Select(\*STDIN) or die "Cannot select stdin : $!\n";

# パケット送信する回数
my $send_count = 10;

# パケット送信の間隔(秒)
my $send_interval = 0.05;

sub make_packet {
    my ($cmd, $sid, $eid, $seqno, $lineno, $text) = @_;
    return pack("NNNNNN", $cmd, $sid, $eid, $seqno, $lineno, length($text)).$text;
}

# パケット送信のトリガー(?)的な意味なので
# 特に STDIN から拾う必要は無い(多分)
$selector->can_read(0);

for ($i = 0; $i < $send_count; $i++) {
    # REPcommand を生成
    my $packet = &make_packet(41, 1, 1, 0, $i, "");
    syswrite(STDOUT, $packet, length($packet));
    Time::HiRes::sleep($send_interval);
}