Provided by: libanyevent-connection-perl_0.06-5_all bug

NAME

       AnyEvent::Connection - Base class for tcp connectful clients

SYNOPSIS

           package MyTCPClient;
           use base 'AnyEvent::Connection';

           package main;
           my $client = MyTCPClient->new(
               host => 'localhost',
               port => 12345,
           );
           $client->reg_cb(
               connected => sub {
                   my ($client,$connection,$host,$port) = @_;
                   # ...
                   $client->after(
                       $interval, sub {
                           # Called after interval, if connection still alive
                       }
                   );
               }
               connfail = sub {
                   my ($client,$reason) = @_;
                   # ...
               },
               disconnect => sub {
                   my ($client,$reason) = @_;
               },
               error => sub {
                   my ($client,$error) = @_;
                   # Called in error conditions for callbackless methods
               },
           );
           $client->connect;

EVENTS

       connected ($connobject, $host, $port)
           Called when client get connected.

       connfail
           Called, when client fails to connect

       disconnect
           Called whenever client disconnects

       error
           Called in error conditions for callbackless methods (for ex: when calling push_write
           on non-connected client)

OPTIONS

       host
           Host to connect to

       port
           Port to connect to

       timeout [ = 3 ]
           Connect/read/write timeout in seconds

       reconnect [ = 1 ]
           If true, automatically reconnect after disconnect/connfail after delay $reconnect
           seconds

       rawcon [ = AnyEvent::Connection::Raw ]
           Class that implements low-level connection

OPERATION METHODS

       new Cleates connection object (see OPTIONS)

       connect
           Begin connection

       disconnect ($reason)
           Close current connection. reason is optional

       reconnect
           Close current connection and establish a new one

       after($interval, $cb->())
           Helper method. AE::timer(after), associated with current connection

           Will be destroyed if connection is destroyed, so no timer invocation after connection
           destruction.

       periodic($interval, $cb->())
           Helper method. AE::timer(periodic), associated with current connection

           Will be destroyed if connection is destroyed, so no timer invocation after connection
           destruction.

       periodic_stop()
           If called within periodic callback, periodic will be stopped.

               my $count;
               $client->periodic(1,sub {
                   $client->periodic_stop if ++$count > 10;
               });

               # callback will be called only 10 times;

       destroy
           Close connection, destroy all associated objects and timers, clean self

CONNECT METHODS

       When connected, there are some methods, that proxied to raw connection or to AE::Handle

       push_write
           See AE::Handle::push_write

       push_read
           See AE::Handle::push_read

       unshift_read
           See AE::Handle::unshift_read

       say Same as push_write + newline

       reply
           Same as push_write + newline

       For next methods there is a feature.  Callback will be called in any way, either by
       successful processing or by error or object destruction

       recv($bytes, %args, cb => $cb->())
           Similar to

               $fh->push_read(chunk => $bytes, $cb->());

       command($data, %args, cb => $cb->());
           Similar to

               $fh->push_write($data);
               $fh->push_read(line => $cb->());

AUTHOR

       Mons Anderson, "<mons at cpan.org>"

BUGS

       Please report any bugs or feature requests to "bug-anyevent-connection at rt.cpan.org", or
       through the web interface at
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=AnyEvent-Connection>.  I will be notified,
       and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

       You can find documentation for this module with the perldoc command.

           perldoc AnyEvent::Connection

       You can also look for information at:

       •   RT: CPAN's request tracker

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-Connection>

       •   AnnoCPAN: Annotated CPAN documentation

           <http://annocpan.org/dist/AnyEvent-Connection>

       •   CPAN Ratings

           <http://cpanratings.perl.org/d/AnyEvent-Connection>

       •   Search CPAN

           <http://search.cpan.org/dist/AnyEvent-Connection/>

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

       Copyright 2009 Mons Anderson, all rights reserved.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.