Google

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

UDPTransmit Class Reference

Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. Unreliable Datagram Peer Associations. More...

#include <socket.h>

Inheritance diagram for UDPTransmit:

UDPSocket UDPDuplex List of all members.

Public Methods

int Transmit (const char *buffer, size_t len)
 Transmit "send" to use "connected" send rather than sendto. More...

bool isOutputReady (unsigned long timeout = 0l)
 See if output queue is empty for sending more packets. More...

sockerror_t setRouting (bool enable)
sockerror_t setTypeOfService (socktos_t tos)
sockerror_t setBroadcast (bool enable)

Protected Methods

 UDPTransmit ()
 Create a UDP transmitter.

 UDPTransmit (const InetAddress &bind, tpport_t port = 5005)
 Create a UDP transmitter, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host. More...

sockerror_t Connect (const InetHostAddress &host, tpport_t port)
 Associate this socket with a specified peer host. More...

sockerror_t Connect (const BroadcastAddress &subnet, tpport_t port)
 Associate this socket with a subnet of peer hosts for subnet broadcasting. More...

sockerror_t Disconnect (void)
 Disassociate this socket from any host connection. More...

int Send (void *buf, int len)
 Transmit "send" to use "connected" send rather than sendto. More...

void endTransmitter (void)
 Stop transmitter.

SOCKET getTransmitter (void)

Detailed Description

Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. Unreliable Datagram Peer Associations.

Author(s):
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

UDPTransmit::UDPTransmit ( ) [protected]
 

Create a UDP transmitter.

UDPTransmit::UDPTransmit ( const InetAddress & bind,
tpport_t port = 5005 ) [protected]
 

Create a UDP transmitter, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host.

On failure to bind, an exception is thrown. This class is only used to build the UDP Duplex.

Parameters:
bind   address to bind this socket to.
port   number to bind this socket to.
port   number on peer host to associate with.


Member Function Documentation

sockerror_t UDPTransmit::Connect ( const BroadcastAddress & subnet,
tpport_t port ) [protected]
 

Associate this socket with a subnet of peer hosts for subnet broadcasting.

The server must be able to assert broadcast permission for the socket.

Returns:
0 on success, -1 on error.
Parameters:
subnet   address to broadcast into.

sockerror_t UDPTransmit::Connect ( const InetHostAddress & host,
tpport_t port ) [protected]
 

Associate this socket with a specified peer host.

The port number from the constructor will be used. All UDP packets will be sent to and received from the specified host.

Returns:
0 on success, -1 on error.
Parameters:
host   address to connect socket to.

Reimplemented in UDPDuplex.

sockerror_t UDPTransmit::Disconnect ( void ) [protected]
 

Disassociate this socket from any host connection.

No data should be read or written until a connection is established.

Reimplemented in UDPDuplex.

int UDPTransmit::Send ( void * buf,
int len ) [inline, protected]
 

Transmit "send" to use "connected" send rather than sendto.

Returns:
number of bytes sent.
Parameters:
address   of buffer to send.
len   of bytes to send.

int UDPTransmit::Transmit ( const char * buffer,
size_t len ) [inline]
 

Transmit "send" to use "connected" send rather than sendto.

Note:
Windows does not support MSG_DONTWAIT, so it is defined as 0 on that platform.
Returns:
number of bytes sent.
Parameters:
address   of buffer to send.
len   of bytes to send.

void UDPTransmit::endTransmitter ( void ) [inline, protected]
 

Stop transmitter.

SOCKET UDPTransmit::getTransmitter ( void ) [inline, protected]
 

bool UDPTransmit::isOutputReady ( unsigned long timeout = 0l ) [inline]
 

See if output queue is empty for sending more packets.

Returns:
true if output available.
Parameters:
timeout   in milliseconds to wait.

sockerror_t UDPTransmit::setBroadcast ( bool enable ) [inline]
 

Reimplemented from Socket.

sockerror_t UDPTransmit::setRouting ( bool enable ) [inline]
 

Reimplemented from Socket.

sockerror_t UDPTransmit::setTypeOfService ( socktos_t tos ) [inline]
 

Reimplemented from Socket.


The documentation for this class was generated from the following file:
Generated at Fri Mar 23 10:47:57 2001 for CommonC++ by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000