DataService

Package: inet.protocolelement.service

DataService

compound module

(no description)

aggregator : SubpacketLengthHeaderBasedAggregator

Source:
aggregator: SubpacketLengthHeaderBasedAggregator {
    @display("p=150,100");
} fragmenter : FragmentNumberHeaderBasedDefragmenter

Source:
fragmenter: FragmentNumberHeaderBasedDefragmenter {
    @display("p=150,200");
} sequenceNumbering : SequenceNumbering

Source:
sequenceNumbering: SequenceNumbering {
    @display("p=150,300");
} queue : like IPacketQueue

DropTailQueue: This module is a limited packet queue which drops packets at the tail of the queue.

IPacketQueue: This module interface is implemented by packet queue modules.

Source:
queue: <default("DropTailQueue")> like IPacketQueue {
    @display("p=150,400");
} server : like IPacketServer

PacketServer: This module repeatedly pulls packets from the connected packet provider and after a processing...

IPacketServer: This module interface is implemented by packet server modules.

Source:
server: <default("PacketServer")> like IPacketServer {
    @display("p=150,500");
} deaggregator : SubpacketLengthHeaderBasedDeaggregator

Source:
deaggregator: SubpacketLengthHeaderBasedDeaggregator {
    @display("p=450,100");
} defragmenter : FragmentNumberHeaderBasedDefragmenter

Source:
defragmenter: FragmentNumberHeaderBasedDefragmenter {
    @display("p=450,200");
} reordering : Reordering

Source:
reordering: Reordering {
    @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/layer

Gates

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

Unassigned submodule parameters

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

determines the text that is written on top of the submodule

fragmenter.deleteSelf bool false
fragmenter.headerPosition string "front"
sequenceNumbering.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

deaggregator.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

deaggregator.deleteSelf bool false
defragmenter.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

defragmenter.deleteSelf bool false
defragmenter.headerPosition string "front"
reordering.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

Source code

module DataService
{
    parameters:
        @display("i=block/layer");
    gates:
        input upperLayerIn;
        output upperLayerOut;
        input lowerLayerIn;
        output lowerLayerOut;
    submodules:
        aggregator: SubpacketLengthHeaderBasedAggregator {
            @display("p=150,100");
        }
        fragmenter: FragmentNumberHeaderBasedDefragmenter {
            @display("p=150,200");
        }
        sequenceNumbering: SequenceNumbering {
            @display("p=150,300");
        }
        queue: <default("DropTailQueue")> like IPacketQueue {
            @display("p=150,400");
        }
        server: <default("PacketServer")> like IPacketServer {
            @display("p=150,500");
        }
        deaggregator: SubpacketLengthHeaderBasedDeaggregator {
            @display("p=450,100");
        }
        defragmenter: FragmentNumberHeaderBasedDefragmenter {
            @display("p=450,200");
        }
        reordering: Reordering {
            @display("p=450,300");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> aggregator.in;
        aggregator.out --> fragmenter.in;
        fragmenter.out --> sequenceNumbering.in;
        sequenceNumbering.out --> queue.in;
        queue.out --> server.in;
        server.out --> { @display("m=s"); } --> lowerLayerOut;
        lowerLayerIn --> { @display("m=s"); } --> reordering.in;
        reordering.out --> defragmenter.in;
        defragmenter.out --> deaggregator.in;
        deaggregator.out --> { @display("m=n"); } --> upperLayerOut;
}
File: src/inet/protocolelement/service/DataService.ned