Class UDPControlInfo

File: src/inet/transportlayer/contract/udp/UDPControlInfo.msg

C++ definition

Base class for UDP control info classes. The most convenient way to handle UDP is the UDPSocket class, which hides control info from you.

sockId must uniquely identify the socket in the UDP module; the best way to achieve that is to obtain the value from UDPSocket::generateSocketId().

See also: UDPCommandCode

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses:

Name Type Description
UDPBindCommand class

Control info for binding an UDP socket. To create and bind a socket, send a message to the UDP module with kind=UDP_C_BIND and an UDPBindCommand attached.

UDPCloseCommand class

Control info for closing an UDP socket. To close a socket, send a message to the UDP module with kind=UDP_C_CLOSE and an UDPCloseCommand attached.

UDPConnectCommand class

Control info for connecting an UDP socket. To connect a socket, send a message to the UDP module with kind=UDP_C_CONNECT and an UDPConnectCommand attached. If the socket does not exist, it will be created.

UDPDataIndication class

Control info that is attached to received data packets, sent up from the UDP module to the application with UDP_I_DATA as message kind.

UDPErrorIndication class

Control info that is sent up from the UDP module to the application with UDP_I_ERROR as message kind when UDP receives an ICMP error for a packet previously sent from the socket.

UDPSendCommand class

Control info for sending data via UDP. To send a packet, send it to the UDP module with kind=UDP_C_SEND and an UDPSendCommand attached.

UDPSetOptionCommand class

Base class for UDP socket option control info classes.

Fields:

Name Type Description
sockId int

must uniquely identify the socket in the UDP module

Source code:

//
// Base class for UDP control info classes. The most convenient way to handle
// ~UDP is the UDPSocket class, which hides control info from you.
//
// sockId must uniquely identify the socket in the ~UDP module; the best way
// to achieve that is to obtain the value from UDPSocket::generateSocketId().
//
// @see ~UDPCommandCode
//
class UDPControlInfo
{
    int sockId = -1;  // must uniquely identify the socket in the ~UDP module
}