IPacketPusher

Package: inet.queueing.contract

IPacketPusher

module interface

This module interface is implemented by packet pushers. A packet pusher connects one input to one output. Packets can be pushed into its input and it pushed 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

This 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 packet 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

This 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
IActivePacketSource module interface

This module interface must be implemented by 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.

IPassivePacketSink module interface

This module interface must be implemented by 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.

Properties

Name Value Description
display i=block/sink

Source code

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