# NAME

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

# VERSION

version 0.8

# 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

### regex\_client

Handle requests for string regexes from clients

### noregex\_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](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:

- Github

[https://github.com/reyjrar/POE-Component-Server-eris](https://github.com/reyjrar/POE-Component-Server-eris)

- AnnoCPAN: Annotated CPAN documentation

[http://annocpan.org/dist/POE-Component-Server-eris](http://annocpan.org/dist/POE-Component-Server-eris)

- CPAN Ratings

[http://cpanratings.perl.org/d/POE-Component-Server-eris](http://cpanratings.perl.org/d/POE-Component-Server-eris)

- RT: CPAN's request tracker

[http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Server-eris](http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Server-eris)

- Search CPAN

[http://search.cpan.org/dist/POE-Component-Server-eris](http://search.cpan.org/dist/POE-Component-Server-eris)

# 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
