PeerService¶
Package: inet.protocolelement.service
compound module PeerService
(no description)
Usage diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
(no description) |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
numDefragmenter |
int |
0 |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
i=block/routing |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out |
output |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
multiplexer.displayStringTextFormat |
string |
“passed %p pk (%l)” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
multiplexer.forwardServiceRegistration |
bool |
true |
|
multiplexer.forwardProtocolRegistration |
bool |
true |
|
defragmenter.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
defragmenter.deleteSelf |
bool |
false |
|
defragmenter.headerPosition |
string |
“front” |
|
classifier.displayStringTextFormat |
string |
“classified %p pk (%l)” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
classifier.reverseOrder |
bool |
false |
|
classifier.classifierClass |
string |
Determines the output queue of packets, the parameter must be the name of a C++ class which implements the IPacketClassifierFunction interface and is registered via Register_Class |
|
classifier.submoduleName |
string |
||
classifier.moduleType |
string |
Source code¶
module PeerService
{
parameters:
int numDefragmenter = default(0);
defragmenter[*].deleteSelf = true;
@display("i=block/routing");
gates:
input in;
output out;
submodules:
multiplexer: PacketMultiplexer {
@display("p=150,100");
}
defragmenter[numDefragmenter]: FragmentNumberHeaderBasedDefragmenter {
@display("p=150,200,row,100");
}
classifier: DynamicClassifier {
@display("p=150,300");
}
connections:
in --> classifier.in;
for i=0..numDefragmenter-1 {
classifier.out++ --> multiplexer.in++;
}
multiplexer.out --> out;
}