The Ethernet Publisher Application
This publisher application needed in every publisher node in a publish subscribe network. It works just over the MAC layer, and this is why it is necessary to implement MAC encapsulation. This module extends the BasePSApp module and adds the necessary functionality. For instance, it is able only to publish new or existing Information Items, kept in the Information item table.
See also: BasePSApp
Author: Nikolaos Vastardis
BasePSApp (simple module) |
The Base of the Pub-Sub Ethernet Applications |
If a module type shows up more than once, that means it has been defined in more than one NED file.
PubHost (compound module) |
The Publisher Host |
Name | Type | Default value | Description |
---|---|---|---|
actPeak | double | 30s |
The time period the application mainly active |
datarate | int | 10Mbps |
The datarate of each stream from the publisher |
destAddress | string | "FF:FF:FF:FF:FF:FF" |
destination MAC address, preferably broadcast |
startTime | double | this.waitTime |
time of sending the first request |
pubInterval | double | 10s |
time interval of making a new publication |
waitInterval | double | uniform(0s,1s) |
interval between sending requests |
reqLength | int | 100B |
length of request packets |
respLength | int | 1KB |
length of response packets |
fileSize | int | 20Mb |
the max size of the published files |
Name | Value | Description |
---|---|---|
display | i=block/app | |
class | PEtherApp |
Name | Direction | Size | Description |
---|---|---|---|
ifIn [ ] | input | ||
ifOut [ ] | output |
// // <b> The Ethernet Publisher Application </b> // // This publisher application needed in every publisher node in a publish // subscribe network. It works just over the MAC layer, and this is why it // is necessary to implement MAC encapsulation. This module extends the // BasePSApp module and adds the necessary functionality. For instance, // it is able only to publish new or existing Information Items, kept in // the Information item table. // // @see BasePSApp // // @author Nikolaos Vastardis // simple PEtherApp extends BasePSApp { parameters: @class(PEtherApp); string destAddress = default("FF:FF:FF:FF:FF:FF"); // destination MAC address, preferably broadcast double startTime @unit("s") = default(this.waitTime); // time of sending the first request double pubInterval @unit("s") = default(10s); // time interval of making a new publication volatile double waitInterval @unit("s") = default(uniform(0s,1s)); // interval between sending requests volatile int reqLength @unit(B) = default(100B); // length of request packets volatile int respLength @unit(B) = default(1KB); // length of response packets volatile int fileSize @unit(Mb) = default(20Mb); // the max size of the published files @display("i=block/app"); }