8 use Test::More tests => 9 ;
18 my( $self, $accept_event, $connect_event ) ;
22 $accept_event = Stem::Socket->new(
26 'method' => 'accepted',
29 die $accept_event unless ref $accept_event ;
30 $self->{'accept_event'} = $accept_event ;
33 $connect_event = Stem::Socket->new(
38 die $connect_event unless ref $connect_event ;
39 $self->{'connect_event'} = $connect_event ;
42 Stem::Event::start_loop() ;
44 ok( 1, 'event loop exit' ) ;
49 my( $self, $accepted_sock ) = @_ ;
53 $self->{'accepted_sock'} = $accepted_sock ;
55 $self->{'accept_event'}->shut_down() ;
57 ok( 1, 'accept canceled' ) ;
59 my $read_event = Stem::Event::Read->new(
61 'fh' => $accepted_sock,
64 $self->{'read_event'} = $read_event ;
71 ok(1, 'read event triggered' ) ;
73 my $bytes_read = sysread( $self->{'accepted_sock'},
74 my $read_buf, 1000 ) ;
76 ok( $bytes_read, 'read byte count' ) ;
78 is( $read_buf, $data, 'read event compare' ) ;
80 close( $self->{'accepted_sock'} ) ;
82 $self->{'read_event'}->cancel() ;
87 my( $self, $connected_sock ) = @_ ;
89 ok( 1, 'connected' ) ;
91 my $wcnt = $connected_sock->syswrite( $data ) ;
92 #print "SYSWR C $wcnt\n" ;
94 $self->{'connect_event'}->shut_down() ;