Sprocket::Server - The Sprocket Server


Sprocket documentation  | view source Contained in the Sprocket distribution.

Index


NAME

Top

Sprocket::Server - The Sprocket Server

SYNOPSIS

Top

    use Sprocket qw( Server );

    Sprocket::Server->spawn(
        Name => 'Test Server',        # Optional, defaults to Server
        ListenAddress => '127.0.0.1', # Optional, defaults to INADDR_ANY
        ListenPort => 9979,           # Optional, defaults to 0 (random port)
        Domain => AF_INET,            # Optional, defaults to AF_INET
        Reuse => 'yes',               # Optional, defaults to yes
        Plugins => [
            {
                plugin => MyPlugin->new(),
                priority => 0, # default
            },
        ],
        LogLevel => 4,
        MaxConnections => 10000,
    );




DESCRIPTION

Top

Sprocket::Server defines a TCP/IP Server, it binds to a Address and Port and listens for incoming TCP/IP connections.

METHODS

Top

spawn( %options )

Create a new Sprocket::Server object.

Name => (str)

The Name for this server. This is used for logging. It is optional and defaults to 'Server'

ListenPort => (int)

The port this server listens on.

ListenAddress => (str)

The address this server listens on.

Domain => (const)

The domain type for the socket. Defaults to AF_INET. For UNIX sockets, see Sprocket::Server::UNIX

LogLevel => (int)

The minimum level of logging, defaults to 4

Logger => (object)

Sprocket::Logger::Basic is the default and logs to STDERR. The object must support put( $server, { v => $level, msg => $msg } ) or wrap a logging system using this format. See also Sprocket::Logger::Log4perl

MaxConnections => (int)

Sprocket will set the rlimit to this value using BSD::Resource

Plugins => (array ref of hash refs)

Plugins that this server will hand off processing to. In an array ref of hash ref's format as so:

    {
        plugin => MyPlugin->new(),
        priority => 0 # default
    }

shutdown( $type )

Shutdown this server. If $type is 'soft' then a soft shutdown procedure will begin. local_shutdown will be called for each connection.

name

The name of the server, specified during spawn.

session_id

Session id of the controlling poe session.

uuid

UUID of the server, generated during spawn.

shutting_down

returns the shutdown type, ie. 'soft' if shutting down, otherwize, undef.

connections

returns the number of connections

_logger

returns the logger object.

opts

returns a hash ref of the options passed to spawn

is_forked

true if the server is pre-forked

is_child

true if this instance is a forked process. You can determine if you're in the parent process if is_child is false and is_forked is true.

HOOKS

Top

See Sprocket for observer hook semantics.

sprocket.local.connection.accept
sprocket.local.connection.reject
sprocket.local.connection.receive
sprocket.local.wheel.error

EVENTS

Top

These events are handled by plugins. See Sprocket::Plugin.

local_accept
local_connected
local_receive
local_disconnected
local_time_out
local_error
local_shutdown

SEE ALSO

Top

POE, Sprocket, Sprocket::Connection, Sprocket::Plugin, Sprocket::Client, Sprocket::Server::PreFork, Sprocket::Server::UNIX, Sprocket::Logger::Basic, Sprocket::Logger::Log4perl

AUTHOR

Top

David Davis <xantus@cpan.org>

RATING

Top

Please rate this module. http://cpanratings.perl.org/rate/?distribution=Sprocket

COPYRIGHT AND LICENSE

Top


Sprocket documentation  | view source Contained in the Sprocket distribution.