| Hoppy documentation | Contained in the Hoppy distribution. |
Hoppy::TCPHandler::Disconnected - TCP handler class that will be used when client disconnected.
TCP handler class that will be used when client disconnected.
Takeshi Miki <miki@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Hoppy documentation | Contained in the Hoppy distribution. |
package Hoppy::TCPHandler::Disconnected; use strict; use warnings; use base qw( Hoppy::Base ); sub do_handle { my $self = shift; my $poe = shift; my $c = $self->context; my $session_id = $poe->session->ID; my $user = $c->room->fetch_user_from_session_id($session_id); my $user_id; if ($user) { $user_id = $user->user_id; $c->room->logout( { user_id => $user_id }, $poe ); } delete $c->{sessions}->{$session_id}; delete $c->{not_authorized}->{$session_id}; $poe->kernel->yield("shutdown"); if ( my $hook = $c->hook->{client_disconnected} ) { $hook->work( { poe => $poe, user_id => $user_id } ); } } 1; __END__