Main Page   Class Hierarchy   Compound List   File List   Compound Members  

CAVERNnet_socketbase_c Class Reference

#include <CAVERNnet_socketbase_c.hxx>

Inheritance diagram for CAVERNnet_socketbase_c::

CAVERNnet_mcast_c CAVERNnet_parallelTcpClient_c CAVERNnet_parallelTcpServer_c CAVERNnet_perfMonitor_c CAVERNnet_tcpClient_c CAVERNnet_tcpServer_c CAVERNnet_udp_c CAVERNnet_udpReflector_c List of all members.

Public Methods

 CAVERNnet_socketbase_c ()
unsigned int getTotalDataSent ()
 Get the total data sent by a connection.

unsigned int getTotalDataRead ()
 Get total data received by a connection.

double getInstantReceiveBandwidth ()
 Get total instantaneous incoming bandwidth by a connection.

double getInstantSendBandwidth ()
 Get total instantaneous outgoing bandwidth by a connection.

double getAverageReceiveBandwidth ()
 Get average incoming bandwidth by a connection.

double getAverageSendBandwidth ()
 Get average outgoing bandwidth by a connection.

void setInstantLatency (double lat)
 Set the instantaneous latency and also calculate the STALatency and Jitter values automatically.

double getInstantLatency ()
 Retrieve most recent incoming packet's latency.

double getAverageLatency ()
 Retrieve average incoming latency.

double getMaxLatency ()
 Retrieve max latency so far.

double getMinLatency ()
 Retrieve min latency so far.

void incrementDataSent (unsigned long size)
 Record amount of data sent.

void incrementDataRead (unsigned long size)
 Record amount of data read - and also compute instantaneous, average bandwidths along with the inter message delay values.

double getInstantInterMesgDelay ()
 Get instantaneous inter-message delay (jitter).

double getMaxInterMesgDelay ()
 Get max inter-message delay (jitter).

double getMinInterMesgDelay ()
 Get min inter-message delay (jitter).

double getAverageInterMesgDelay ()
 Get average inter-message delay (jitter).

double getSTABandwidth ()
 Get the Short Term Average Bandwidth -over a fixed number of packets (defined by BANDWIDTH_BUF_SIZE).

double getSTALatency ()
 Get the Short Term Average Latency -over a number of packets (defined by LATENCY_BUF_SIZE).

double getBurstiness ()
 get the burstinesss.

double getJitter ()
 Get the Jitter.

unsigned long getPacketsRead ()
 Return the total number of packets read.

unsigned long getPacketsSent ()
 Return the total number of packets sent.


Static Public Methods

int hostnameToIP (char *hostname, char *hostIP)
 Convert a hostname to an ip address of xxx.xxx.xxx.xxx.

void ipNumToString (unsigned int ip, char *ipstring)
 Convert ip address to a string of xxx.xxx.xxx.xxx.

double getTimeInSecs ()
 Get time in secs with microsecond accuracy.

void getHostName (char *name, int len)
 Get the full host name of a local client.

void expandHostName (char *src, char *newname, int len)
 If hostname is not fully expanded (ie does not include its domain) then expand it.


Static Public Attributes

const int OK
 Operation went ok.

const int FAILED
 Operation failed.


Protected Methods

void computeInstantSendBandwidth ()
 Calculate the instantaneous outgoing bandwidth.

void computeInstantReceiveBandwidth ()
 Calculate the instantaneous incoming bandwidth.

void computeAverageReceiveBandwidth ()
 Calculate the average incoming bandwidth.

void computeAverageSendBandwidth ()
 Calculate the average outgoing bandwidth.

void calculateJitter (double lat)
 Calculate the jitter over a specified number of packets.

void calculateBurstiness (double bw)
 Calculate the burstiness over a specified number of packets.


Protected Attributes

double instLat
double latTotal
double minLat
double maxLat
double avgLat
unsigned long latCount
unsigned long sentCount
unsigned long readCount
double instDelay
double totalDelay
double minDelay
double maxDelay
double avgDelay
double prevLocalTime
double currentTime
double previousSentTime
double previousReadTime
double initialSentTime
double initialReadTime
unsigned long prevTotalDataRead
unsigned long prevTotalDataSent
unsigned long totalDataRead
unsigned long totalDataSent
double instReadBandwidth
double instSendBandwidth
double avgReadBandwidth
double avgSendBandwidth
double STALatency
double STABandwidth
double jitter
double burstiness
double latencyBuffer [LATENCY_BUF_SIZE]
double bandwidthBuffer [BANDWIDTH_BUF_SIZE]
double STlatencySum
double STbandwidthSum
int tempLatCounter
int tempBWCounter

Detailed Description

A base level socket class subclassed by CAVERNnet_tcp_c, CAVERNnet_udp_c, CAVERNnet_mcast_c, CAVERNnet_parallelTcp_c, and CAVERNnet_perfMonitor_c. The class itself does no networking. It provides some common member functions that are useful for network coding. In general one does not create an instance of this type.

This class also offers information about the bandwidth, latency, Inter-Message_delay, Jitter and Burstiness values associated with the individual socket connections. Latency and Jitter calculations are offered only if the individual subclasses have implemented and enabled it. Otherwise values will be zero. These calculations are used by the CAVERNnet_perfMonitor_c class


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