InstantServer

Package: inet.queueing.server

InstantServer

simple module

This module repeatedly pulls packets from the connected packet provider and pushes the packet into the connected packet consumer without delay.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
PacketServerBase simple module

This is a base module for various packet server modules.

Parameters

Name Type Default value Description
displayStringTextFormat string "served %p pk (%l)"

determines the text that is written on top of the submodule

serveSchedulingPriority int -1

specifies the FES scheduling priority for the extra event that is pulling the packet, -1 means no extra event

Properties

Name Value Description
display i=block/server
class InstantServer

Gates

Name Direction Size Description
in input
out output

Signals

Name Type Unit
packetPushed inet::Packet
packetPulled inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
outgoingDataRate outgoing datarate throughput(packetPushed) vector bps linear
incomingDataRate incoming datarate throughput(packetPulled) vector bps linear
outgoingPacketLengths outgoing packet lengths packetLength(packetPushed) sum, histogram, vector b none
incomingPacketLengths incoming packet lengths packetLength(packetPulled) sum, histogram, vector b none
incomingPackets incoming packets packetPulled count pk
outgoingPackets outgoing packets packetPushed count pk

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
omnetpp::cMessage0ServeTimer

Direct method calls (observed)

call tofunctioninfo
PcapRecorderinet::PcapRecorder::receiveSignalpacketSentToLower
Ieee8021qTimeAwareShaperinet::queueing::CompoundPacketQueueBase::pullPacketpullPacket
PacketEmitterinet::PacketEmitter::pushPacketpushPacket
DropTailQueueinet::queueing::PacketQueue::pullPacketpullPacket
GatingPriorityQueueinet::queueing::CompoundPacketQueueBase::pullPacketpullPacket
PacketQueueinet::queueing::PacketQueue::pullPacketpullPacket
PriorityQueueinet::queueing::CompoundPacketQueueBase::pullPacketpullPacket

Called methods (observed)

functioninfocall from
inet::queueing::InstantServer::handleCanPullPacketChangedhandleCanPullPacketChangedDropTailQueue, PacketQueue, PriorityScheduler
inet::queueing::InstantServer::handleCanPushPacketChangedhandleCanPushPacketChangedPacketEmitter
inet::queueing::InstantServer::handlePushPacketProcessedhandlePushPacketProcessedPacketEmitter

Pull in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0DropTailQueueDirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd, VlanReq
inPacket0PacketQueueInterfaceReq, MacAddressReq, PacketProtocolTag, CutthroughTag?, DirectionTag?, DispatchProtocolInd?, DropEligibleInd?, DropEligibleReq?, EcnInd?, EncapsulationProtocolReq?, Ieee802SapReq?, InterfaceInd?, MulticastReq?, NetworkProtocolInd?, PcpInd?, PcpReq?, SequenceNumberInd?, SocketReq?, StreamReq?, TransportProtocolInd?, UserPriorityInd?, UserPriorityReq?, VlanInd?, VlanReq?
inPacket0PrioritySchedulerDirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag, CreditGateTag?, DispatchProtocolInd?, DropEligibleInd?, DropEligibleReq?, EligibilityTimeTag?, EncapsulationProtocolReq?, InterfaceInd?, MulticastReq?, NetworkProtocolInd?, PcpInd?, PcpReq?, SequenceNumberInd?, StreamReq?, TransportProtocolInd?, UserPriorityInd?, UserPriorityReq?, VlanInd?, VlanReq?

Push out messages (observed)

gatemsgkindctrldestModuletags
outPacket0PacketEmitterInterfaceReq, MacAddressReq, PacketProtocolTag, CreditGateTag?, CutthroughTag?, DirectionTag?, DispatchProtocolInd?, DropEligibleInd?, DropEligibleReq?, EcnInd?, EligibilityTimeTag?, EncapsulationProtocolReq?, Ieee802SapReq?, InterfaceInd?, MulticastReq?, NetworkProtocolInd?, PcpInd?, PcpReq?, SequenceNumberInd?, SocketReq?, StreamReq?, TransportProtocolInd?, UserPriorityInd?, UserPriorityReq?, VlanInd?, VlanReq?

Source code

//
// This module repeatedly pulls packets from the connected packet provider and
// pushes the packet into the connected packet consumer without delay.
//
simple InstantServer extends PacketServerBase like IPacketServer
{
    parameters:
        int serveSchedulingPriority = default(-1); // specifies the FES scheduling priority for the extra event that is pulling the packet, -1 means no extra event
        @class(InstantServer);
}
File: src/inet/queueing/server/InstantServer.ned