50 |
my $new = $lsn->accept; |
my $new = $lsn->accept; |
51 |
$sel->add($new); |
$sel->add($new); |
52 |
$session->{$new} = $new->peerhost; |
$session->{$new} = $new->peerhost; |
53 |
warn "[socket] connect from ", $new->peerhost, "\n"; |
warn "[socket] connect\n"; |
54 |
Storable::store_fd( { ping => 1 }, $new ); |
Storable::store_fd( { ping => 1 }, $new ); |
55 |
} else { |
} else { |
56 |
if ( $sock->connected ) { |
if ( $sock->connected ) { |
57 |
my $data = Storable::fd_retrieve( $sock ); |
my $data = Storable::fd_retrieve( $sock ); |
58 |
warn "<<<< ", dump($data), $/; |
warn "<<<< ", dump($data), $/; |
59 |
|
if ( $data->{repl} ) { |
60 |
|
Storable::store_fd( { repl => $data }, $sock ); |
61 |
|
} |
62 |
} else { |
} else { |
|
$session->{$sock}->close(); |
|
63 |
delete $session->{$sock}; |
delete $session->{$sock}; |
64 |
warn "[socket] disconnect\n"; |
warn "[socket] disconnect\n"; |
65 |
$sel->remove($sock); |
$sel->remove($sock); |