EthernetStreamingPhyLayer

Package: inet.physicallayer.wired.ethernet

compound module EthernetStreamingPhyLayer

(no description)

EthernetStreamingPhyLayerupperLayerIn --> phyHeaderInserter.in inherited from EthernetPhyLayerphyHeaderInserter.out --> interFrameGapInserter.in inherited from EthernetPhyLayerinterFrameGapInserter.out --> outboundEmitter.in inherited from EthernetPhyLayeroutboundEmitter.out --> cutthroughSink.in inherited from EthernetPhyLayercutthroughSink.out --> transmitter.in inherited from EthernetPhyLayertransmitter.out --> lowerLayerOut inherited from EthernetPhyLayerlowerLayerIn --> receiver.in inherited from EthernetPhyLayerreceiver.out --> cutthroughSource.in inherited from EthernetPhyLayercutthroughSource.out --> inboundEmitter.in inherited from EthernetPhyLayerinboundEmitter.out --> phyHeaderChecker.in inherited from EthernetPhyLayerphyHeaderChecker.out --> upperLayerOut inherited from EthernetPhyLayerphyHeaderInserter: inet.physicallayer.wired.ethernet.EthernetPhyHeaderInserter (like IPacketFlow) inherited from EthernetPhyLayer IPacketFlow: Interface for packet flows. Source: phyHeaderInserter: <default("EthernetPhyHeaderInserter")> like IPacketFlow { @display("p=200,100"); }phyHeaderInserterinterFrameGapInserter: inet.protocolelement.common.InterpacketGapInserter inherited from EthernetPhyLayer Enforces a minimum time gap between consecutive packets, which is important for protocols like Et... Source: interFrameGapInserter: InterpacketGapInserter { duration = default(96s / dropUnit(parent.bitrate)); // 96 bits / <bitrate> bps @display("p=200,200"); }interFrameGapInserteroutboundEmitter: inet.protocolelement.common.PacketEmitter (like IPacketFlow) inherited from EthernetPhyLayer IPacketFlow: Interface for packet flows. Source: outboundEmitter: <default("PacketEmitter")> like IPacketFlow { @display("p=200,300"); }outboundEmittercutthroughSink: inet.queueing.contract.IPacketFlow (like IPacketFlow) inherited from EthernetPhyLayer IPacketFlow: Interface for packet flows. Source: cutthroughSink: <default("")> like IPacketFlow { @display("p=200,400"); }cutthroughSinktransmitter: inet.protocolelement.transceiver.StreamingTransmitter (like IPacketTransmitter) inherited from EthernetPhyLayer StreamingTransmitter: Receives packets from the upper layer as a whole. Source: transmitter: <default("PacketTransmitter")> like IPacketTransmitter { datarate = default(parent.bitrate); @display("p=200,500"); }transmitterphyHeaderChecker: inet.physicallayer.wired.ethernet.EthernetPhyHeaderChecker (like IPacketFilter) inherited from EthernetPhyLayer IPacketFilter: Interface for packet filter modules. Source: phyHeaderChecker: <default("EthernetPhyHeaderChecker")> like IPacketFilter { @display("p=500,100"); }phyHeaderCheckerinboundEmitter: inet.protocolelement.common.PacketEmitter (like IPacketFlow) inherited from EthernetPhyLayer IPacketFlow: Interface for packet flows. Source: inboundEmitter: <default("PacketEmitter")> like IPacketFlow { @display("p=500,300"); }inboundEmittercutthroughSource: inet.queueing.contract.IPacketFlow (like IPacketFlow) inherited from EthernetPhyLayer IPacketFlow: Interface for packet flows. Source: cutthroughSource: <default("")> like IPacketFlow { @display("p=500,400"); }cutthroughSourcereceiver: inet.protocolelement.transceiver.DestreamingReceiver (like IPacketReceiver) inherited from EthernetPhyLayer DestreamingReceiver: Receives signals from the transmission medium (wire) as a stream. Source: receiver: <default("PacketReceiver")> like IPacketReceiver { datarate = default(parent.bitrate); @display("p=500,500"); }receiver

Inheritance diagram

Extends

Name

Type

Description

EthernetPhyLayer

compound module

(no description)

Parameters

Name

Type

Default value

Description

bitrate

double

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

phyHeaderInserter.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

interFrameGapInserter.displayStringTextFormat

string

“delayed %p pk (%l)\nifg: %g”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

interFrameGapInserter.clockModule

string

“”

Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional

interFrameGapInserter.initialChannelBusy

bool

false

Assume that the channel was busy before the simulation started

interFrameGapInserter.duration

double

96s / dropUnit(parent.bitrate)

outboundEmitter.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

outboundEmitter.packetFilter

object

“*”

Which packets are considered, matches all packets by default

outboundEmitter.direction

string

“undefined”

outboundEmitter.signalName

string

transmitter.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

transmitter.clockModule

string

“”

Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional

transmitter.datarate

double

parent.bitrate

phyHeaderChecker.displayStringTextFormat

string

“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

phyHeaderChecker.backpressure

bool

false

inboundEmitter.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

inboundEmitter.packetFilter

object

“*”

Which packets are considered, matches all packets by default

inboundEmitter.direction

string

“undefined”

inboundEmitter.signalName

string

receiver.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

receiver.datarate

double

parent.bitrate

Source code

module EthernetStreamingPhyLayer extends EthernetPhyLayer
{
    parameters:
        transmitter.typename = default("StreamingTransmitter");
        receiver.typename = default("DestreamingReceiver");
}

File: src/inet/physicallayer/wired/ethernet/EthernetStreamingPhyLayer.ned