ForwardingService

Package: inet.protocolelement.service

ForwardingService

compound module

(no description)

d1 : MessageDispatcher

This module connects multiple applications, protocols and interfaces with each other and...

Source:
d1: MessageDispatcher {
    @display("p=300,100");
} forwarding : Forwarding

Source:
forwarding: Forwarding {
    @display("p=300,200");
} sendWithHopLimit : SendWithHopLimit

Source:
sendWithHopLimit: SendWithHopLimit {
    @display("p=150,300");
} receiveWithHopLimit : ReceiveWithHopLimit

Source:
receiveWithHopLimit: ReceiveWithHopLimit {
    @display("p=450,300");
}

Usage diagram

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

Properties

Name Value Description
display i=block/routing

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output
lowerLayerIn input
lowerLayerOut output

Unassigned submodule parameters

Name Type Default value Description
d1.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

d1.forwardServiceRegistration bool true
d1.forwardProtocolRegistration bool true
forwarding.address string ""
sendWithHopLimit.hopLimit int

Source code

module ForwardingService
{
    parameters:
        @display("i=block/routing");
    gates:
        input upperLayerIn @loose;
        output upperLayerOut @loose;
        input lowerLayerIn;
        output lowerLayerOut;
    submodules:
        d1: MessageDispatcher {
            @display("p=300,100");
        }
        forwarding: Forwarding {
            @display("p=300,200");
        }
        sendWithHopLimit: SendWithHopLimit {
            @display("p=150,300");
        }
        receiveWithHopLimit: ReceiveWithHopLimit {
            @display("p=450,300");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> d1.in++;
        d1.out++ --> forwarding.in;
        forwarding.out --> d1.in++;
        d1.out++ --> sendWithHopLimit.in;
        sendWithHopLimit.out --> { @display("m=s"); } --> lowerLayerOut;
        lowerLayerIn --> { @display("m=s"); } --> receiveWithHopLimit.in;
        receiveWithHopLimit.out --> d1.in++;
        d1.out++ --> { @display("m=n"); } --> upperLayerOut;
}
File: src/inet/protocolelement/service/ForwardingService.ned