package Kamaitachi::Socket; use strict; use warnings; use base 'Danga::Socket::Callback'; use fields qw/session buffer io reading readback/; use Kamaitachi::IOStream; =head1 NAME Kamaitachi::Socket - Kamaitachi connection socket =head1 DESCRIPTION See L. =head1 METHODS =head2 new =cut sub new { my $self = fields::new(shift); my %args = @_; $self->SUPER::new(%args); $self->{session} = $args{session}; $self->{session}{io} = Kamaitachi::IOStream->new( socket => $self ); $self->{buffer} = q[]; $self->{reading} = 0; $self->{readback} = q[]; $self; } =head2 context =head2 session =head2 closed =cut sub context { $_[0]->{context} } sub session { $_[0]->{session} } sub closed { $_[0]->{closed} } =head2 close =cut sub close { my $self = shift; $self->session->close(@_); $self->SUPER::close(@_); } =head1 AUTHOR Daisuke Murase Hideo Kimura =head1 COPYRIGHT This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. =cut 1;