ProtocolTagBase

ProtocolTagBase

class

This is an abstract base class that should not be directly added as a tag.

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.

Extends

Name Type Description
TagBase class

This is an abstract base class that should not be directly added to a message as a tag. It is used as the base class of all tags, thus it doesn't have any fields.

Known subclasses

Name Type Description
DispatchProtocolInd class

This indication specifies the sending protocol of the message or packet when it's sent from one protocol module to another using the MessageDispatcher.

DispatchProtocolReq class

This request determines the destination protocol of the message or packet when it's sent from one protocol module to another using the MessageDispatcher.

MacProtocolInd class

This indication specifies the mac protocol that was used to receive the packet. It may be present from the mac protocol to the application.

MacProtocolReq class

This request determines the mac protocol that should be used to send the packet. It may be present from the application to the mac protocol and from the mac protocol to the physical layer.

NetworkProtocolInd class

This indication specifies the network protocol that was used to receive the packet. It may be present from the network protocol to the application.

NetworkProtocolReq class

This request determines the network protocol that should be used to send the packet. It may be present from the application to the network protocol and from the network protocol to the physical layer.

PacketProtocolTag class

This tag specifies the protocol of the packet.

TransportProtocolInd class

This indication specifies the transport protocol that was used to receive the packet. It may be present from the transport protocol to the application and from the transport protocol to the physical layer.

TransportProtocolReq class

This request determines the transport protocol that should be used to send the packet. It may be present from the application to the transport protocol.

Fields

Name Type Description
protocol Protocol

specifies a protocol (internal class with an artificial identifier)

Source code

//
// This is an abstract base class that should not be directly added as a tag.
//
class ProtocolTagBase extends TagBase
{
    const Protocol *protocol @toString("->str()") = nullptr; // specifies a protocol (internal class with an artificial identifier)
}

File: src/inet/common/ProtocolTag.msg