IPacketPusher

Package: inet.queueing.contract

IPacketPusher

module interface

Interface for packet pushers. A packet pusher connects one input to one output. Packets can be pushed into its input and it pushes packets into its output.

Inheritance diagram

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

Implemented by

Name Type Description
StreamSplitter simple module

Duplicates incoming packets based on the stream they are part of. The stream is determined by the StreamReq tag that is attached to the packet. The number of outgoing packets is determined by the mapping parameter. Each outgoing packet will have an attached StreamReq with the tag name taken from the mapping parameter.

Used in compound modules

Name Type Description
StreamRelayLayer compound module

Combines a stream merger and a stream splitter module into a stream relay layer. For incoming packets, the identified streams are merged by the stream merger. For outgoing packets, the requested streams are split by the stream splitter.

Extends

Name Type Description
IPassivePacketSink module interface

Interface for passive packet sink modules. A passive packet sink, also called a consumer, has one input that must be connected to an active packet source module. The connected active packet source is expected to push packets into the passive packet sink over time.

IActivePacketSource module interface

Interface for active packet source modules. An active packet source, also called a producer, has one output that must be connected to a passive packet sink module. The active packet source is expected to push packets into the connected passive packet sink over time.

Properties

Name Value Description
display i=block/star

Source code

//
// Interface for packet pushers. A packet pusher
// connects one input to one output. Packets can be pushed into its input
// and it pushes packets into its output.
//
moduleinterface IPacketPusher extends IPassivePacketSink, IActivePacketSource
{
    parameters:
        @display("i=block/star");
}
File: src/inet/queueing/contract/IPacketPusher.ned