GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  POEX::ROLE::TCPSERVER (3)

.ds Aq ’

NAME

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

CONTENTS

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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 POEX::ROLE::TCPSERVER (3) 2010-10-01

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.