# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLNET::CUdpSimSock Class Reference

CUdpSimSock: Unreliable datagram socket via UDP but packet lost, lag simulation. More...

#include <udp_sim_sock.h>

List of all members.

Public Methods

 CUdpSimSock (bool logging=true)
void connect (const CInetAddress &addr)
void close ()
bool dataAvailable ()
bool receive (uint8 *buffer, uint32 &len, bool throw_exception=true)
CSock::TSockResult send (const uint8 *buffer, uint32 &len, bool throw_exception=true)
void sendTo (const uint8 *buffer, uint32 &len, const CInetAddress &addr)
bool connected ()
const CInetAddresslocalAddr () const

Static Public Methods

void setSimValues (NLMISC::CConfigFile &cf)

Public Attributes

CUdpSock UdpSock

Private Methods

void updateBufferizedPackets ()
void sendUDP (const uint8 *buffer, uint32 &len, const CInetAddress *addr=NULL)
void sendUDPNow (const uint8 *buffer, uint32 len, const CInetAddress *addr=NULL)

Static Private Attributes

uint32 _InLag = 0
uint8 _InPacketLoss = 0
uint32 _OutLag = 0
uint8 _OutPacketLoss = 0
uint8 _OutPacketDuplication = 0
uint8 _OutPacketDisordering = 0

Friends

void cbSimVar (NLMISC::CConfigFile::CVar &var)


Detailed Description

CUdpSimSock: Unreliable datagram socket via UDP but packet lost, lag simulation.

See class CUdpSock.

Notes: InLag must be >0 to use the InPacketLoss variable

Author:
Vianney Lecroart , Nevrax France
Date:
2002

Definition at line 49 of file udp_sim_sock.h.


Constructor & Destructor Documentation

NLNET::CUdpSimSock::CUdpSimSock bool    logging = true [inline]
 

Definition at line 53 of file udp_sim_sock.h.

References UdpSock.


Member Function Documentation

void NLNET::CUdpSimSock::close  
 

Definition at line 231 of file udp_sim_sock.cpp.

References UdpSock.

void NLNET::CUdpSimSock::connect const CInetAddress   addr
 

Definition at line 226 of file udp_sim_sock.cpp.

References addr, and UdpSock.

bool NLNET::CUdpSimSock::connected  
 

Definition at line 306 of file udp_sim_sock.cpp.

References UdpSock.

bool NLNET::CUdpSimSock::dataAvailable  
 

Definition at line 238 of file udp_sim_sock.cpp.

References _InLag, _InPacketLoss, addr, NLNET::buffer, NLNET::BufferizedInPackets, NLMISC::TTime, UdpSock, and updateBufferizedPackets.

const CInetAddress& NLNET::CUdpSimSock::localAddr   const [inline]
 

Definition at line 66 of file udp_sim_sock.h.

References UdpSock.

bool NLNET::CUdpSimSock::receive uint8   buffer,
uint32   len,
bool    throw_exception = true
 

Definition at line 269 of file udp_sim_sock.cpp.

References _InLag, NLNET::buffer, NLNET::BufferizedInPackets, min, s, and UdpSock.

CSock::TSockResult NLNET::CUdpSimSock::send const uint8   buffer,
uint32   len,
bool    throw_exception = true
 

Definition at line 295 of file udp_sim_sock.cpp.

References NLNET::buffer, and sendUDP.

void NLNET::CUdpSimSock::sendTo const uint8   buffer,
uint32   len,
const CInetAddress   addr
 

Definition at line 301 of file udp_sim_sock.cpp.

References addr, NLNET::buffer, and sendUDP.

void NLNET::CUdpSimSock::sendUDP const uint8   buffer,
uint32   len,
const CInetAddress   addr = NULL
[private]
 

Definition at line 115 of file udp_sim_sock.cpp.

References _OutLag, _OutPacketDisordering, _OutPacketDuplication, _OutPacketLoss, addr, NLNET::buffer, NLNET::BufferizedOutPackets, nlassert, sendUDPNow, t, NLMISC::TTime, and UdpSock.

Referenced by send, and sendTo.

void NLNET::CUdpSimSock::sendUDPNow const uint8   buffer,
uint32    len,
const CInetAddress   addr = NULL
[private]
 

Definition at line 107 of file udp_sim_sock.cpp.

References addr, NLNET::buffer, and UdpSock.

Referenced by sendUDP, and updateBufferizedPackets.

void NLNET::CUdpSimSock::setSimValues NLMISC::CConfigFile   cf [static]
 

Definition at line 202 of file udp_sim_sock.cpp.

References cbSimVar, NLMISC::CConfigFile::getVar, nlwarning, and NLMISC::CConfigFile::setCallback.

void NLNET::CUdpSimSock::updateBufferizedPackets   [private]
 

Definition at line 171 of file udp_sim_sock.cpp.

References NLNET::BufferizedOutPackets, sendUDPNow, and NLMISC::TTime.

Referenced by dataAvailable.


Friends And Related Function Documentation

void cbSimVar NLMISC::CConfigFile::CVar   var [friend]
 

Definition at line 191 of file udp_sim_sock.cpp.

Referenced by setSimValues.


Member Data Documentation

uint32 NLNET::CUdpSimSock::_InLag = 0 [static, private]
 

Definition at line 95 of file udp_sim_sock.cpp.

Referenced by dataAvailable, and receive.

uint8 NLNET::CUdpSimSock::_InPacketLoss = 0 [static, private]
 

Definition at line 96 of file udp_sim_sock.cpp.

Referenced by dataAvailable.

uint32 NLNET::CUdpSimSock::_OutLag = 0 [static, private]
 

Definition at line 98 of file udp_sim_sock.cpp.

Referenced by sendUDP.

uint8 NLNET::CUdpSimSock::_OutPacketDisordering = 0 [static, private]
 

Definition at line 101 of file udp_sim_sock.cpp.

Referenced by sendUDP.

uint8 NLNET::CUdpSimSock::_OutPacketDuplication = 0 [static, private]
 

Definition at line 100 of file udp_sim_sock.cpp.

Referenced by sendUDP.

uint8 NLNET::CUdpSimSock::_OutPacketLoss = 0 [static, private]
 

Definition at line 99 of file udp_sim_sock.cpp.

Referenced by sendUDP.

CUdpSock NLNET::CUdpSimSock::UdpSock
 

Definition at line 69 of file udp_sim_sock.h.

Referenced by close, connect, connected, CUdpSimSock, dataAvailable, localAddr, receive, sendUDP, and sendUDPNow.


The documentation for this class was generated from the following files: