Package: inet.protocolelement.transceiver
PacketTransmitter
simple moduleThis module receives packets from the upper layer as a whole. It also sends signals to the transmission medium (wire) as a whole.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| InterfaceService | compound module | (no description) |
Extends
| Name | Type | Description |
|---|---|---|
| PacketTransmitterBase | simple module | (no description) |
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 |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/wtx | |
| class | PacketTransmitter |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| transmissionStarted | inet::physicallayer::Signal | |
| transmissionEnded | inet::physicallayer::Signal |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| transmissionTime | transmission time | packetDuration(transmissionEnded) | vector, histogram | s | none |
| flowTransmissionTime | flow transmission time | packetDuration(demuxFlow(transmissionEnded)) | vector, histogram | s | none |
| transmitting | transmitting state | count(transmissionStarted) - count(transmissionEnded) | vector | sample-hold | |
| utilization | utilization | 100 * utilization(count(transmissionStarted) - count(transmissionEnded)) | vector, histogram | % | linear |
| propagationTime | propagation time | s | |||
| throughput | throughput | throughput(transmissionEnded) | vector, histogram | bps | linear |
Scheduled messages (observed)
| msg | kind | ctrl | tags | msgname | context |
|---|---|---|---|---|---|
| ClockEvent | 0 | TxEndTimer |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| Gptp | inet::Gptp::receiveSignal | transmissionEnded |
| EthernetPhyHeaderInserter | inet::physicallayer::EthernetPhyHeaderInserter::handlePushPacketProcessed | handlePushPacketProcessed |
| InterpacketGapInserter | inet::InterpacketGapInserter::handleCanPushPacketChanged | handleCanPushPacketChanged |
| PacketEmitter | inet::PacketEmitter::handleCanPushPacketChanged | handleCanPushPacketChanged |
| PacketEmitter | inet::PacketEmitter::handlePushPacketProcessed | handlePushPacketProcessed |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::PacketTransmitter::handleOperationStage | handleOperationStage | ScenarioManager |
| inet::PacketTransmitter::pushPacket | pushPacket | InterpacketGapInserter, PacketEmitter |
Outgoing messages (observed)
| gate | msg | kind | ctrl | destModule | tags |
|---|---|---|---|---|---|
| out | Signal | 0 | PacketReceiver |
Pushed in messages (observed)
| gate | msg | kind | ctrl | srcModule | tags |
|---|---|---|---|---|---|
| in | Packet | 0 | InterpacketGapInserter | DirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag, DispatchProtocolInd?, MulticastReq?, NetworkProtocolInd?, TransportProtocolInd? | |
| in | Packet | 0 | PacketEmitter | DirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag, DispatchProtocolInd?, DropEligibleInd?, DropEligibleReq?, EcnInd?, Ieee802SapReq?, InterfaceInd?, MulticastReq?, NetworkProtocolInd?, PcpInd?, PcpReq?, SocketReq?, TransportProtocolInd?, UserPriorityInd?, UserPriorityReq?, VlanInd? |
Shared Tagging operations (observed)
| tagType | tagAction |
|---|---|
| clearTags | |
| PacketProtocolTag | addTag, removeTagIfPresent |
Region Tagging operations (observed)
| tagType | tagAction |
|---|---|
| FlowTag | mapAllTags |
| PacketEventTag | mapAllTagsForUpdate |
| PropagationTimeTag | mapAllTagsForUpdate |
| TransmissionTimeTag | mapAllTagsForUpdate |
Source code
// // This module receives packets from the upper layer as a whole. It also sends // signals to the transmission medium (wire) as a whole. // simple PacketTransmitter extends PacketTransmitterBase like IPacketTransmitter { parameters: @class(PacketTransmitter); }File: src/inet/protocolelement/transceiver/PacketTransmitter.ned