-
-
17 Nov 2010 11:59:25 UTC
- Distribution: AnyEvent-Connection
- Module version: 0.06
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (4)
- Testers (1303 / 54 / 13)
- Kwalitee
Bus factor: 0- 52.30% Coverage
- License: perl_5
- Perl: v5.8.8
- Activity
24 month- Tools
- Download (31.1KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- Mons Anderson, C<< <mons at cpan.org> >>
- Dependencies
- AnyEvent
- Object::Event
- common::sense
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
- NAME
- SYNOPSIS
- EVENTS
- OPTIONS
- OPERATION METHODS
- CONNECT METHODS
- AUTHOR
- BUGS
- SUPPORT
- ACKNOWLEDGEMENTS
- COPYRIGHT & LICENSE
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
CPAN Ratings
Search CPAN
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.
Module Install Instructions
To install AnyEvent::Connection, copy and paste the appropriate command in to your terminal.
cpanm AnyEvent::Connection
perl -MCPAN -e shell install AnyEvent::Connection
For more information on module installation, please visit the detailed CPAN module installation guide.