The Plexer class, used for routing messages to services. More...
#include <Plexer.h>
Public Member Functions | |
Plexer (Config *cfg, PluginArgument *arg) | |
virtual | ~Plexer () |
virtual void | Next (MCCInterface *next, const std::string &label) |
virtual MCC_Status | process (Message &request, Message &response) |
Static Public Attributes | |
static Logger | logger |
The Plexer class, used for routing messages to services.
This is the Plexer class. Its purpose is to route incoming messages to appropriate Services and MCC chains.
Arc::Plexer::Plexer | ( | Config * | cfg, | |
PluginArgument * | arg | |||
) |
The constructor.
This is the constructor. Since all member variables are instances of "well-behaving" STL classes, nothing needs to be done.
virtual Arc::Plexer::~Plexer | ( | ) | [virtual] |
The destructor.
This is the destructor. Since all member variables are instances of "well-behaving" STL classes, nothing needs to be done.
virtual void Arc::Plexer::Next | ( | MCCInterface * | next, | |
const std::string & | label | |||
) | [virtual] |
Add reference to next MCC in chain.
This method is called by Loader for every potentially labeled link to next component which implements MCCInterface. If next is set NULL corresponding link is removed.
Reimplemented from Arc::MCC.
virtual MCC_Status Arc::Plexer::process | ( | Message & | request, | |
Message & | response | |||
) | [virtual] |
Route request messages to appropriate services.
Routes the request message to the appropriate service. Routing is based on the path part of value of the ENDPOINT attribute. Routed message is assigned following attributes: PLEXER:PATTERN - matched pattern, PLEXER:EXTENSION - last unmatched part of ENDPOINT path.
Reimplemented from Arc::MCC.
Logger Arc::Plexer::logger [static] |
A logger for MCCs.
A logger intended to be the parent of loggers in the different MCCs.
Reimplemented from Arc::MCC.