Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   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. More...

 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. More...

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:
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 Tue Nov 20 12:34:38 2001 for CommonC++ by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001