NAME
App::Metabase::Relayd::Plugin - metabase-relayd plugins
DESCRIPTION
This document describes the App::Metabase::Relayd::Plugin system for App::Metabase::Relayd and metabase-relayd.
Plugins are a mechanism for providing additional functionality to App::Metabase::Relayd and metabase-relayd.
It is assumed that plugins will be POE based and consist of at least one POE::Session.
INITIALISATION
The plugin constructor is init
. App::Metabase::Relayd uses Module::Pluggable to find plugins beneath the App::Metabase::Relayd::Plugin namespace and will attempt to call init
on each plugin class that it finds.
init
will be called with one parameter, a hashref that contains keys for each section of the metabase-relayd configuration file, (which utilises Config::Tiny).
The role of the plugin is to determine if an appropriate section exists for its own configuration.
If no appropriate configuration exists, then init
must return undef
.
If appropriate configuration does exist, then the plugin may start a POE::Session.
App::Metabase::Relayd will watch for a _child
event indicating that it has gained a plugin child session. It will detach this child after making a note of the child's session ID which it will use to send the following events.
EVENTS
mbrd_received
-
ARG0
will be aHASHREF
with the following keys:archname distfile grade osname osversion perl_version textreport
ARG1
will be the IP address of the client that sent the report.
AUTHOR
Chris BinGOs
Williams <chris@bingosnet.co.uk>
LICENSE
Copyright © Chris Williams
This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.