Package: inet.protocolelement.common
PreemptableStreamer
simple moduleThis module takes packets passed to its input and streams them to its output.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketProcessorBase | simple module |
This is a base module for various packet processing modules which maintains a few statistics. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
clockModule | string | "" |
relative path of a module that implements IClock; optional |
datarate | double | nan bps | |
minPacketLength | int | ||
roundingLength | int | 1B |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | PreemptableStreamer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Direct method calls (observed)
call to | function | info |
---|---|---|
EthernetFcsChecker | inet::EthernetFcsChecker::pullPacket | pullPacket |
EthernetFragmentFcsInserter | inet::EthernetFragmentFcsInserter::handleCanPullPacketChanged | handleCanPullPacketChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::PreemptableStreamer::handleCanPullPacketChanged | handleCanPullPacketChanged | EthernetFcsChecker |
inet::PreemptableStreamer::pullPacketEnd | pullPacketEnd | EthernetFragmentFcsInserter |
inet::PreemptableStreamer::pullPacketStart | pullPacketStart | EthernetFragmentFcsInserter |
Pull in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | EthernetFcsChecker | DirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd, VlanReq |
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | EthernetFragmentFcsInserter | DirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, FragmentTag, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, TransportProtocolInd, VlanReq, PacketProtocolTag? |
Packet operations (observed)
chunkType | packetAction |
---|---|
ByteCountChunk | Packet |
Chunk | removeAtBack |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
FragmentTag | addTag, findTagForUpdate, getTagForUpdate |
PacketProtocolTag | removeTagIfPresent |
Source code
// // This module takes packets passed to its input and streams them to its output. // simple PreemptableStreamer extends PacketProcessorBase like IPacketFlow { parameters: string clockModule = default(""); // relative path of a module that implements IClock; optional double datarate @unit(bps) = default(nan bps); int minPacketLength @unit(b); int roundingLength @unit(b) = default(1B); @class(PreemptableStreamer); @display("i=block/cogwheel"); gates: input in @labels(send,push,pull,pass); output out @labels(send,push,pull,stream); }File: src/inet/protocolelement/common/PreemptableStreamer.ned