Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

UDPSocket Class Reference

#include <udp.h>

Inheritance diagram for UDPSocket:

Inheritance graph
[legend]
Collaboration diagram for UDPSocket:

Collaboration graph
[legend]
List of all members.

Detailed Description

UDP implementation of socket interface.

Author:
Keaton Mullis (kmullis@zianet.com)


Public Types

enum  SOCKETEVENT {
  NONE = 0x0000000, CONNECTION = 0x0000001, DATAIN = 0x0000002, ERR = 0x0000004,
  HUP = 0x0000008, NVAL = 0x0000010, TIMEOUT = 0x0000020, CONNECTED = 0x0000040
}
 Socket event identifiers (bitfield). More...


Public Member Functions

 UDPSocket (SocketCallback *pkCallback=0)
 UDPSocket (int iSocket, SocketCallback *pkCallback=0)
virtual ~UDPSocket ()
virtual bool Listen (int iPort, SocketCallback *pkCallback)
virtual bool Connect (const std::string &rstrAddr, int iPort)
int Read (void *pDst, int iBytes, std::string &rstrFromAddr, int &riFromPort)
int Write (const void *pSrc, int iBytes)
virtual int GetFD ()
virtual void SetBlocking (bool bBlock=false)
virtual unsigned int Poll (int iTimeout)

Public Attributes

int m_iSocket
std::string m_strTargetAddr
int m_iTargetPort
SocketCallbackm_pkCallback


Member Enumeration Documentation

enum SOCKETEVENT [inherited]
 

Socket event identifiers (bitfield).

Enumeration values:
NONE  No event
CONNECTION  Connection received
DATAIN  Data to be read
ERR  Error
HUP  Hung up
NVAL  Invalid socket
TIMEOUT  Timeout
CONNECTED  Connected


Constructor & Destructor Documentation

UDPSocket SocketCallback pkCallback = 0  ) 
 

Parameters:
pkCallback Socket callback object receiving events

UDPSocket int  iSocket,
SocketCallback pkCallback = 0
 

Parameters:
iSocket Socket descriptor
pkCallback Socket callback object receiving events

virtual ~UDPSocket  )  [virtual]
 


Member Function Documentation

virtual bool Listen int  iPort,
SocketCallback pkCallback
[virtual]
 

Listen for incoming connections

Parameters:
iPort Port to listen to
pkCallback Callback recieving connection events (will replace current callback object if not null)
Returns:
true if socket successfuly setup, false otherwise

virtual bool Connect const std::string &  rstrAddr,
int  iPort
[virtual]
 

Connect to other socket

Parameters:
rstrAddr Address
iPort Port
Returns:
always true

int Read void *  pDst,
int  iBytes,
std::string &  rstrFromAddr,
int &  riFromPort
 

Read data from socket

Parameters:
pDst Destination buffer
iBytes Bytes to read
rstrFromAddr Address of sender
riFromPort Port of sender
Returns:
Actual number of bytes read
Todo:
Current method for returning from address/port is UGLY, clean it up

int Write const void *  pSrc,
int  iBytes
 

Write data to socket

Parameters:
pSrc Source buffer
iBytes Bytes to write
Returns:
Actual number of bytes written

virtual int GetFD  )  [inline, virtual]
 

Returns:
Socket FD

Implements Socket.

virtual void SetBlocking bool  bBlock = false  )  [virtual]
 

Set blocking/nonblocking mode

Parameters:
bBlock Blocking flag

Implements Socket.

virtual unsigned int Poll int  iTimeout  )  [virtual]
 

Poll socket

Parameters:
iTimeout Timeout in milliseconds
Returns:
Events bitfield

Implements Socket.


Member Data Documentation

int m_iSocket
 

Socket descriptor

std::string m_strTargetAddr
 

Address to send to

int m_iTargetPort
 

Port to send to

SocketCallback* m_pkCallback [inherited]
 

Callback object receiving events


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:16 2004 for NeoEngine by doxygen 1.3.5