53 |
warn "[socket] connect\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 ) { |
my $data = eval { Storable::fd_retrieve( $sock ) }; |
57 |
my $data = Storable::fd_retrieve( $sock ); |
if ( $@ ) { |
58 |
|
delete $session->{$sock}; |
59 |
|
warn "[socket] disconnect: $@\n"; |
60 |
|
$sel->remove($sock); |
61 |
|
$sock->close; |
62 |
|
} else { |
63 |
warn "<<<< ", dump($data), $/; |
warn "<<<< ", dump($data), $/; |
64 |
if ( $data->{repl} ) { |
if ( $data->{repl} ) { |
65 |
Storable::store_fd( { repl => $data }, $sock ); |
Storable::store_fd( { repl => $data }, $sock ); |
66 |
} |
} |
|
} else { |
|
|
delete $session->{$sock}; |
|
|
warn "[socket] disconnect\n"; |
|
|
$sel->remove($sock); |
|
|
$sock->close; |
|
67 |
} |
} |
68 |
} |
} |
69 |
} |
} |