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

FreeBSD Manual Pages

  
 
  

home | help
POEx::Role::TCPServer(User Contributed Perl DocumentatPOEx::Role::TCPServer(3)

NAME
       POEx::Role::TCPServer - A Moose Role that provides TCPServer behavior

VERSION
       version 1.102740

DESCRIPTION
       POEx::Role::TCPServer bundles up	the lower level
       SocketFactory/ReadWrite combination of wheels into a simple
       Moose::Role. It builds upon other POEx modules such as
       POEx::Role::SessionInstantiation	and POEx::Types.

       The events for SocketFactory for	and for	each ReadWrite instantiated
       are methods that	can be advised in any way deemed fit. Advising these
       methods is actually encouraged and can simplify code for	the consumer.

       The only	method that must be provided by	the consuming class is
       handle_inbound_data.

PUBLIC_ATTRIBUTES
   listen_ip
	   is: ro, isa:	Str, required

       This will be used as the	BindAddress to SocketFactory

   listen_port
	   is: ro, isa:	Int, required

       This will be used as the	BindPort to SocketFactory

PROTECTED_ATTRIBUTES
   socket_factory
	   is: rw, isa:	Object,	predicate: has_socket_factory, clearer:	clear_socket_factory

       The POE::Wheel::SocketFactory created in	_start is stored here.

   wheels
	   traits: Hash, is: rw, isa: HashRef, clearer:	clear_wheels

       When connections	are accepted, a	POE::Wheel::ReadWrite object is
       created and stored in this attribute, keyed by WheelID. Wheels may be
       accessed	via the	following provided methods.

	   {
	       'get_wheel'     => 'get',
	       'set_wheel'     => 'set',
	       'delete_wheel'  => 'delete',
	       'count_wheels'  => 'count',
	       'has_wheel'     => 'exists',
	   }

   filter
	   is: rw, isa:	Filter

       This stores the filter that is used when	constructing wheels. It	will
       be cloned for each connection accepted. Defaults	to a instance of
       POE::Filter::Line.

   input_filter
	   is: rw, isa:	Filter

       If different filters are	needed for input and output, supply this
       attribute with the input	filter.	It will	override what is in "filter"

   output_filter
	   is: rw, isa:	Filter

       If different filters are	needed for input and output, supply this
       attribute with the output filter. It will override what is in "filter"

PUBLIC_METHODS
   shutdown()
	   is Event

       shutdown	unequivically terminates the TCPServer by clearing all wheels
       and aliases, forcing POE	to garbage collect the session.

PROTECTED_METHODS
   handle_on_connect
	   (GlobRef $socket, Str $address, Int $port, WheelID $id) is Event

       handle_on_connect is the	SuccessEvent of	the SocketFactory instantiated
       in _start.

   handle_listen_error
	   (Str	$action, Int $code, Str	$message, WheelID $id) is Event

       handle_listen_error is the FailureEvent of the SocketFactory

   handle_socket_error
	   (Str	$action, Int $code, Str	$message, WheelID $id) is Event

       handle_socket_error is the ErrorEvent of	each POE::Wheel::ReadWrite
       instantiated.

   handle_on_flushed
	   (WheelID $id) is Event

       handle_on_flushed is the	FlushedEvent of	each POE::Wheel::ReadWrite
       instantiated.

PRIVATE_METHODS
   after _start
	   (@args) is Event

       The _start event	is after-advised to do the start up of the
       SocketFactory.

REQUIRES
   METHODS
       handle_inbound_data

	   ($data, WheelID $id)	is Event

       This required method will be passed the data received, and from which
       wheel it	came.

AUTHOR
       Nicholas	Perez <nperez@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2010 by Nicholas Perez.

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

perl v5.32.0			  2010-10-01	      POEx::Role::TCPServer(3)

NAME | VERSION | DESCRIPTION | PUBLIC_ATTRIBUTES | PROTECTED_ATTRIBUTES | PUBLIC_METHODS | PROTECTED_METHODS | PRIVATE_METHODS | REQUIRES | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=POEx::Role::TCPServer&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help