The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

POE::Component::Server::eris - POE eris message dispatcher

VERSION

version 0.7

SYNOPSIS

POE session for integration with your central logging infrastructure By itself, this module is useless. It is designed to take an stream of data from anything that can generate a POE Event. Examples for syslog-ng and rsyslog are included in the examples directory!

    use POE qw(
                Component::Server::TCP
                Component::Server::eris
        );

        # Message Dispatch Service
    my $SESSION = POE::Component::Server::eris->spawn(
                        ListenAddress           => 'localhost',                 #default
                        ListenPort                      => '9514',                              #default
        );

        # $SESSION = { alias => 'eris_dispatcher', ID => POE::Session->ID };


        # Take Input from a TCP Socket
        my $input_log_session_id = POE::Component::Server::TCP->spawn(

                # An event will post incoming messages to:
                # $poe_kernel->post( eris_dispatch => dispatch_message => $msg );
                #                or
                # $poe_kernel->post( $SESSION->{alias} => dispatch_message => $msg );
        ...

        );

        POE::Kernel->run();

EXPORT

POE::Component::Server::eris does not export any symbols.

FUNCTIONS

spawn

Creates the POE::Session for the eris correlator.

Parameters: ListenAddress => 'localhost', #default ListenPort => '9514', #default

INTERNAL Subroutines (Events)

debug

Controls Debugging Output to the controlling terminal

dispatcher_start

Sets the alias and creates in-memory storages

dispatch_message

Based on clients connected and their feed settings, distribute this message

server_error

Handles errors related to the PoCo::TCP::Server

register_client

Client Registration for the dispatcher

debug_client

Enables debugging for the client requesting it

nobug_client

Disables debugging for a particular client

fullfeed_client

Adds requesting client to the list of full feed clients

subscribe_client

Handle program name subscription

unsubscribe_client

Handle unsubscribe requests from clients

match_client

Handle requests for string matching from clients

nomatch_client

Remove a match based feed from a client

hangup_client

This handles cleaning up from a client disconnect

server_shutdown

Announce server shutdown, shut off PoCo::Server::TCP Session

client_connect

PoCo::Server::TCP Client Establishment Code

client_print

PoCo::Server::TCP Write to Client

broadcast

PoCo::Server::TCP Broadcast Messages

debug_message

Send debug message to DEBUG clients

client_input

Parse the Client Input for eris::dispatcher commands and enact those commands

client_term

PoCo::Server::TCP Client Termination

AUTHOR

Brad Lhotsky, <brad.lhotsky at gmail.com>

BUGS

Please report any bugs or feature requests to bug-poe-component-server-eris at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POE-Component-Server-eris. 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 POE::Component::Server::eris

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2007 Brad Lhotsky, all rights reserved.

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

AUTHOR

Brad Lhotsky <brad.lhotsky@gmail.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2011 by Brad Lhotsky.

This is free software, licensed under:

  The (three-clause) BSD License