class CAVERNnet_perfDaemon_c CAVERN performance monitoring daemon class
| | CAVERNnet_perfDaemon_c (FILE* File = NULL) Constructor of performance monitoring daemon class |
| | init (int incomingPort=PERF_DAEMON_DEFAULT_PORT, int maxClients = 64) Initialize the reflector |
| | process () Call this within a while loop to let the reflector continuously do its processing |
| | checkForNewClients () Call this as often as you wish to check for new clients |
| | intercept (int (*callback) (CAVERNnet_perfDaemonClient_c *client, char** buffer, int *bufferSize, void *userData), void* userData) Intercept incoming messages and call a user-defined callback function |
| | interceptNewConnection (void (*callback) (CAVERNnet_perfDaemonClient_c *newClient, void* userData), void *userData) Intercept any new connections that are formed |
| |
|
CAVERN performance monitoring daemon class. This class treats TCP streams as discrete packets/messages that can be reflected to multiple connected performance monitoring clients. Clients must be created using CAVERNnet_perfDaemonClient_c. Hence do NOT attempt to use CAVERNnet_tcpClient_c to connect to a perf daemon class. This class has 2 main functions: checkForNewClients() and process(). checkForNewClients, as the name suggests, checks to see if any new clients wish to connect to the reflector. Process() does the actual work of data reflection.checkForNewClients is called everytime process() is called. If you want the check to be done more frequently you need to do it yourself. Similarly if you want the process() call done more frequently it is up to you to do it. I recommend threading those two off and setting up a mutex so that you do not do process() and checkForNewClients() at the same time.
If after your callback function exits you do not wish the reflector to forward
the contents of the buffer, return with CAVERN_tcpReflector_c::SKIP_DISTRIBUTION. Otherwise
just return CAVERN_tcpReflector_c::OK. Note also that the callback function will also be given a pointer to a
CAVERNnet_perfDaemonClient_c object that
can then be used to send data directly to the client that originally sent the message.
int init(int incomingPort=PERF_DAEMON_DEFAULT_PORT, int maxClients = 64)
maxClients - is the max number of clients the reflector will manage.
int process()
int checkForNewClients()
void intercept(int (*callback) (CAVERNnet_perfDaemonClient_c *client, char** buffer, int *bufferSize, void *userData), void* userData)
void interceptNewConnection(void (*callback) (CAVERNnet_perfDaemonClient_c *newClient, void* userData), void *userData)
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de