PreemptingServer

Package: inet.queueing.server

PreemptingServer

simple module

(no description)

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
EthernetPreemptingMacLayer compound module (no description)

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

clockModule string ""

relative path of a module that implements IClock; optional

datarate double

Properties

Name Value Description
display i=block/server
class PreemptingServer

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
ClockEvent0Timer

Direct method calls (observed)

call tofunctioninfo
EthernetFcsCheckerinet::EthernetFcsChecker::canPullSomePacketcanPullSomePacket
PacketClassifierinet::queueing::PacketClassifier::pushPacketEndpushPacketEnd
PacketClassifierinet::queueing::PacketClassifier::pushPacketStartpushPacketStart
PrioritySchedulerinet::queueing::PriorityScheduler::pullPacketEndpullPacketEnd
PrioritySchedulerinet::queueing::PriorityScheduler::pullPacketStartpullPacketStart

Called methods (observed)

functioninfocall from
inet::queueing::PreemptingServer::handleCanPullPacketChangedhandleCanPullPacketChangedPriorityScheduler
inet::queueing::PreemptingServer::handleCanPushPacketChangedhandleCanPushPacketChangedPacketClassifier

Pull in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0PrioritySchedulerDirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, TransportProtocolInd, VlanReq, FragmentTag?, PacketProtocolTag?

Push out messages (observed)

gatemsgkindctrldestModuletags
outPacket0PacketClassifierDirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, TransportProtocolInd, VlanReq, FragmentTag?, PacketProtocolTag?

Source code

simple PreemptingServer extends PacketServerBase like IPacketServer
{
    parameters:
        string clockModule = default(""); // relative path of a module that implements IClock; optional
        double datarate @unit(bps);
        @class(PreemptingServer);
}
File: src/inet/queueing/server/PreemptingServer.ned