Main Page   Class Hierarchy   Compound List   File List   Compound Members  

CAVERNnet_perfDaemonClient_c Class Reference

#include <CAVERNnet_perfClient_c.hxx>

List of all members.

Public Methods

 CAVERNnet_perfDaemonClient_c (int isPerfClient=0)
 CAVERNnet_perfDaemonClient_c (CAVERNnet_tcpClient_c *, int isPerfClient=0)
 Use this constructor if you have a pre-opened socket.

 ~CAVERNnet_perfDaemonClient_c ()
int read (char **ret, int *nbytes, int blockingType)
int write (char *outgoingData, int *nbytes)
int isReadyToRead ()
int isReadyToWrite ()
int isReady ()
void showStatus (int status, int nbytes)
 Show status of connection in English.

void showStats ()
 Show statistics of a connection.

void close ()
 Close the current client connection.

int connectToServer (char *ip, int port=PERF_DAEMON_DEFAULT_PORT)
void setTimeOut (int timeout=CAVERNnet_perfDaemonClient_c::NO_TIME_OUT)
unsigned int getRemoteIP ()
void getRemoteIP (char *name)
unsigned int getSelfIP ()
 Get IP address of self.

void getSelfIP (char *name)
 Get IP address of self.

int getSelfPort ()
 Get port of self.

int getRemotePort ()
 Get port of client.


Static Public Attributes

const int OK
 Status ok.

const int FAILED
 Status failed.

const int MEM_ALLOC_ERR
 Memory allocation error.

const int NON_BLOCKING_HAS_NO_DATA
 A non-blocking read had no data available to read.

const int CONNECTION_TERMINATED
 Connection terminated.

const int NOT_READY
 Connection not ready for use.

const int READY_TO_READ
 Connection has data available to read.

const int READY_TO_WRITE
 Connection is ready to write.

const int READY_TO_READ_AND_WRITE
 Connection has data available to read and is ready to write.

const int BLOCKING
const int NON_BLOCKING
const int NO_TIME_OUT

Private Attributes

CAVERNnet_tcpClient_cclient
int timeOut
int connectionAlive
int perfClient


Detailed Description

This class is a very low-level class that is designed for specific uses. If what you want to do is checking performance characteristics of your application, you don't have to use this class at all. All CAVERNsoft G2 classes since version 1.1 are updated with instrumentation features.

CAVERNnet_perfDaemonClient_c is a specially designed class specifically for use with CAVERNnet_perfDaemon_c class or performance monitoring daemon application that instantiates and utilizes CAVERNnet_perfDaemon_c class. This class can be used if you want to do one of the following:

First, it can be used to communicate directly with performance daemon. If you want to send special messages to the daemon, you can use this class for the purpose. Second, you are developing real time performance monitoring applications like QoSiMoto.

If you want to send your own special messages to performance monitoring daemon, you have to simply instantiate this class and use provided methods to send special messages to the performance daemon. If your interest is in monitoring the performance characteristics of other applications then you need to register as performance monitoring client when you instantiate this class. Read the description of constructors to find out how to register your application as performance monitoring client.


Constructor & Destructor Documentation

CAVERNnet_perfDaemonClient_c::CAVERNnet_perfDaemonClient_c ( int isPerfClient = 0 )
 

Constructor

Parameters:
isPerfClient   1 if your application is designed to monitor the performance characteristics of other applications like QoSiMoto. Otherwise, specify 0.


Member Function Documentation

int CAVERNnet_perfDaemonClient_c::connectToServer ( char * ip,
int port = PERF_DAEMON_DEFAULT_PORT )
 

Connect to a server.

Parameters:
ip   IP address to connect to.
port   Port to connect to.
Returns:
Either: CAVERNnet_perfDaemonClient_c::OK or FAILED

void CAVERNnet_perfDaemonClient_c::getRemoteIP ( char * name )
 

Get the IP address of remote connection. If you are a client this returns the ip of the destination server. If you are a server this returns the ip of the destination client.

unsigned int CAVERNnet_perfDaemonClient_c::getRemoteIP ( )
 

Get the IP address of remote connection. If you are a client this returns the ip of the destination server. If you are a server this returns the ip of the destination client.

int CAVERNnet_perfDaemonClient_c::isReady ( )
 

Determines if a socket is ready to write or read or both.

Returns:
Either: CAVERNnet_perfDaemonClient_c::NOT_READY or CAVERNnet_perfDaemonClient_c::READY_TO_WRITE or CAVERNnet_perfDaemonClient_c::READY_TO_READ or CAVERNnet_perfDaemonClient_c::READY_TO_READ_AND_WRITE

int CAVERNnet_perfDaemonClient_c::isReadyToRead ( )
 

Determines if a socket has data available to read.

Returns:
Either: CAVERNnet_perfDaemonClient_c::NOT_READY or CAVERNnet_perfDaemonClient_c::READY_TO_READ

int CAVERNnet_perfDaemonClient_c::isReadyToWrite ( )
 

Determines if a socket is ready to write.

Returns:
Either: CAVERNnet_perfDaemonClient_c::NOT_READY or CAVERNnet_perfDaemonClient_c::READY_TO_WRITE

int CAVERNnet_perfDaemonClient_c::read ( char ** ret,
int * nbytes,
int blockingType )
 

Read data from a reflector (if available).

Parameters:
blockingType   set to either CAVERNnet_perfDaemonClient_c::BLOCKING, NON_BLOCKING.
ret   set to a pointer to a char*. Read will allocate memory for the buffer and assign it to your pointer. You are responsible for deleteing the buffer once you are done with it.
nbytes   returns the number of bytes in the buffer.
Returns:
Either CAVERNnet_perfDaemonClient_c::MEM_ALLOC_ERR, OK, FAILED, NON_BLOCKING_HAS_NO_DATA, CONNECTION_TERMINATED.

void CAVERNnet_perfDaemonClient_c::setTimeOut ( int timeout = CAVERNnet_perfDaemonClient_c::NO_TIME_OUT )
 

Set timeout for read and writes. By default no time out is set. Setting time out means that if the read or write is unsuccessful after a certain amount of time the connection will be terminated. This is to prevent you from doing subsequent writes or reads from the stream and getting incorrect data. In order to re-establish the connection you need to instantiate another object of this type.

int CAVERNnet_perfDaemonClient_c::write ( char * outgoingData,
int * nbytes )
 

Write data to the reflector.

Parameters:
outgoingData   set to your buffer containing data.
nbytes   set to size of the buffer refered to by outgoingData
Returns:
Either CAVERNnet_perfDaemonClient_c::OK,CONNECTION_TERMINATED.


The documentation for this class was generated from the following file:
Generated at Mon Jul 2 14:24:44 2001 for CAVERNsoft by doxygen1.2.8-20010617 written by Dimitri van Heesch, © 1997-2001