Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POE::Component::ConnecUser:ContributedPPE::Component::Connection::Keepalive(3)

NAME
       POE::Component::Connection::Keepalive - a wheel wrapper around a
       kept-alive socket

VERSION
       version 0.272

SYNOPSIS
	 See the SYNOPSIS for POE::Component::Client::Keepalive	for a
	 complete working example.

	 my $connection	= $response->{connection};
	 $heap->{connection} = $connection;

	 $connection->start( InputEvent	=> "got_input" );

	 delete	$heap->{connection};  #	When done with it.

DESCRIPTION
       POE::Component::Connection::Keepalive is	a helper class for
       POE::Component::Client::Keepalive.  It wraps managed sockets, providing
       a few extra features.

       Connection objects free their underlying	sockets	when they are
       DESTROYed.  This	eliminates the need to explicitly free sockets when
       you are done with them.

       Connection objects manage POE::Wheel::ReadWrite objects internally,
       saving a	bit of effort.

       new
	 Creates a new POE::Component::Connection::Keepalive instance.	It
	 accepts two parameters: A socket handle (socket) and a	reference to a
	 POE::Component::Client::Keepalive object to manage the	socket when
	 the connection	is destroyed.

	   my $conn = POE::Component::Connection::Keepalive->new(
	     socket  =>	$socket_handle,
	     manager =>	$poe_component_client_keepalive,
	   );

	 new() is usually called by a POE::Component::Client::Keepalive
	 object.

       start
	 Starts	a POE::Wheel::ReadWrite	object.	 All parameters	except Handle
	 for start() are passed	directly to POE::Wheel::ReadWrite's
	 constructor.  Handle is provided by the connection object.  start()
	 returns a reference to	the new	POE::Wheel::ReadWrite object, but it
	 is not	necessary to save a copy of that wheel.	 The connection	object
	 keeps a copy of the reference internally, so the wheel	will persist
	 as long as the	connection does.  The POE::Wheel::ReadWrite object
	 will be DESTROYed when	the connection object is.

	   # Asynchronous connection from Client::Keepalive.
	   sub handle_connection {
	     my	$connection_info = $_[ARG0];
	     $_[HEAP]->{connection} = $connection_info->{connection};

	     $heap->{connection}->start(
	       InputEvent => "got_input",
	       ErrorEvent => "got_error",
	     );
	   }

	   # Stop the connection (and the wheel) when an error occurs.
	   sub handle_error {
	     delete $_[HEAP]->{connection};
	   }

       wheel
	 Returns a reference to	the internal POE::Wheel::ReadWrite object, so
	 that methods may be called upon it.

	   $heap->{connection}->wheel()->pause_input();

       close
	 Closes	the connection immediately. Calls shutdown_input() and
	 shutdown_output() on the wheel	also.

SEE ALSO
       POE POE::Component::Client::Keepalive POE::Wheel::ReadWrite

BUGS
       None known.

LICENSE
       This distribution is copyright 2004-2009	by Rocco Caputo.  All rights
       are reserved.  This distribution	is free	software; you may redistribute
       it and/or modify	it under the same terms	as Perl	itself.

AUTHOR
       Rocco Caputo <rcaputo@cpan.org>

       Special thanks to Rob Bloodgood.

perl v5.24.1			  2014POE::Component::Connection::Keepalive(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | SEE ALSO | BUGS | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=POE::Component::Connection::Keepalive&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help