MessageDispatcher

Package: inet.common

MessageDispatcher

simple module

This module connects multiple applications, protocols and interfaces with each other and automatically dispatches messages and packets between them. It allows many different configurations from layered architectures where message dispatchers separate different communication layers to centralized architectures where a single message dispatcher is connected to all components.

Configuring the dispatch mechanism:

  • protocols must register by calling registerService and/or registerProtocol
  • interfaces must register by calling registerInterface
  • sockets must register by sending socket messages
  • packets must have tags attached which specifie the destination protocol, interface or socket
MessageDispatcher

Used in compound modules

Name Type Description
AccessPoint compound module

A generic access point supporting multiple wireless radios, and multiple ethernet ports. The type of the ethernet MAC, relay unit and wireless card can be specified as parameters.

ApplicationLayerNodeBase compound module (no description)
EtherHost compound module

An example host with one Ethernet port and a traffic generator that generates request-reply traffic directly over Ethernet. This host model does not contain higher layer protocols (IP, TCP). By default it is configured to use half-duplex MAC (CSMA/CD).

EtherSwitch compound module

Model of an Ethernet switch.

ExtUpperIpv4NetworkLayer compound module (no description)
Ipv4NetworkLayer compound module

Network layer of an IPv4 node.

Ipv6NetworkLayer compound module

Represents an Ipv6 network layer (L3).

LdpMplsRouter compound module

An LDP-capable router.

NetworkLayerNodeBase compound module (no description)
NextHopNetworkLayer compound module

This module provides a network layer for the next hop forwarding.

RsvpMplsRouter compound module

An RSVP-TE capable router.

SimpleNetworkLayer compound module

This module provides a simple network layer.

TransportLayerNodeBase compound module (no description)
WiseRouteNetworkLayer compound module

This module provides a simple network layer.

Properties

Name Value Description
display b=100,5,,,,1;

Gates

Name Direction Size Description
in [ ] input
out [ ] output

Source code

//
// This module connects multiple applications, protocols and interfaces with
// each other and automatically dispatches messages and packets between them.
// It allows many different configurations from layered architectures where
// message dispatchers separate different communication layers to centralized
// architectures where a single message dispatcher is connected to all components.
//
// Configuring the dispatch mechanism:
//  - protocols must register by calling registerService and/or registerProtocol
//  - interfaces must register by calling registerInterface
//  - sockets must register by sending socket messages
//  - packets must have tags attached which specifie the destination protocol, interface or socket
//
simple MessageDispatcher
{
    parameters:
        @display("b=100,5,,,,1;");
    gates:
        input in[];
        output out[];
}

File: src/inet/common/MessageDispatcher.ned