EMANE
1.2.1
|
TDMA radio module implementation that uses specialized scheduler and queue manager modules to allow variant model development. More...
#include <basemodel.h>
Classes | |
class | Implementation |
Implementation of BaseModel. More... | |
Public Member Functions | |
BaseModel (NEMId id, PlatformServiceProvider *pPlatformServiceProvider, RadioServiceProvider *pRadioServiceProvider, Scheduler *pScheduler, QueueManager *pQueueManager) | |
~BaseModel () | |
void | initialize (Registrar ®istrar) override |
void | configure (const ConfigurationUpdate &update) override |
void | start () override |
void | postStart () override |
void | stop () override |
void | destroy () override throw () |
void | processUpstreamControl (const ControlMessages &msgs) override |
void | processUpstreamPacket (const CommonMACHeader &hdr, UpstreamPacket &pkt, const ControlMessages &msgs) override |
void | processDownstreamControl (const ControlMessages &msgs) override |
void | processDownstreamPacket (DownstreamPacket &pkt, const ControlMessages &msgs) override |
void | processEvent (const EventId &, const Serialization &) override |
void | processConfiguration (const ConfigurationUpdate &update) override |
void | notifyScheduleChange (const Frequencies &frequencies, std::uint64_t u64BandwidthHz, const Microseconds &slotDuration, const Microseconds &slotOverhead) override |
void | processSchedulerPacket (DownstreamPacket &pkt) override |
void | processSchedulerControl (const ControlMessages &msgs) override |
QueueInfos | getPacketQueueInfo () const override |
void | sendDownstreamPacket (const CommonMACHeader &hdr, DownstreamPacket &pkt, const ControlMessages &msgs=DownstreamTransport::empty) |
NEMId | getNEMId () const |
virtual void | setDownstreamTransport (DownstreamTransport *pDownstreamTransport) |
void | sendDownstreamControl (const ControlMessages &msgs) |
virtual void | setUpstreamTransport (UpstreamTransport *pUpstreamTransport) |
void | sendUpstreamPacket (UpstreamPacket &pkt, const ControlMessages &msgs=empty) |
void | sendUpstreamControl (const ControlMessages &msgs) |
virtual void | processTimedEvent (TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg) |
BuildId | getBuildId () const |
void | setBuildId (BuildId bid) |
Static Public Attributes | |
static const ControlMessages | empty |
static const ControlMessages | empty |
static const ControlMessages | empty |
Protected Attributes | |
NEMId | id_ |
PlatformServiceProvider * | pPlatformService_ |
RadioServiceProvider * | pRadioService_ |
TDMA radio module implementation that uses specialized scheduler and queue manager modules to allow variant model development.
Definition at line 53 of file basemodel.h.
EMANE::Models::TDMA::BaseModel::BaseModel | ( | NEMId | id, |
PlatformServiceProvider * | pPlatformServiceProvider, | ||
RadioServiceProvider * | pRadioServiceProvider, | ||
Scheduler * | pScheduler, | ||
QueueManager * | pQueueManager | ||
) |
Definition at line 36 of file basemodel.cc.
EMANE::Models::TDMA::BaseModel::~BaseModel | ( | ) |
Definition at line 52 of file basemodel.cc.
|
overridevirtual |
Configure the component.
update | Configuration update values |
ConfigureException | thrown when a unexpected configuration item is encountered or there is a problem with the specified item value |
Implements EMANE::Component.
Definition at line 65 of file basemodel.cc.
|
overridevirtual |
|
inlineinherited |
Gets the application wide unique BuildId of this object.
Definition at line 34 of file buildable.inl.
|
inlineinherited |
|
overridevirtual |
Gets queue status.
Implements EMANE::Models::TDMA::SchedulerUser.
Definition at line 158 of file basemodel.cc.
|
overridevirtual |
Initialize the component.
InitializeException | thrown when an error is encountered during initialization |
Implements EMANE::Component.
Definition at line 57 of file basemodel.cc.
|
overridevirtual |
Notifies when a schedule change occurs
frequencies | Set of frequencies used in the schedule |
u64BandwidthHz | Transceiver bandwidth |
slotDuration | Slot duration |
slotOverhead | Slot overhead |
Implements EMANE::Models::TDMA::SchedulerUser.
Definition at line 137 of file basemodel.cc.
|
overridevirtual |
Hook to run any post start functionaililty. Called after all the components have been started.
Reimplemented from EMANE::Component.
Definition at line 78 of file basemodel.cc.
|
overridevirtual |
Process dynamic running-state configuration updates
update | Configuration update |
Reimplemented from EMANE::RunningStateMutable.
Definition at line 132 of file basemodel.cc.
|
overridevirtual |
Process downstream control message
msgs | Reference to the ControlMessages |
Implements EMANE::DownstreamTransport.
Definition at line 112 of file basemodel.cc.
|
overridevirtual |
Process downstream packet
pkt | Reference to the DownstreamPacket to process |
msgs | optional reference to the ControlMessages |
Implements EMANE::DownstreamTransport.
Definition at line 118 of file basemodel.cc.
|
overridevirtual |
Process an event.
eventId | event identifier corresponding to the serialized event |
serialization | opaque event object data |
Reimplemented from EMANE::EventServiceUser.
Definition at line 125 of file basemodel.cc.
|
overridevirtual |
Processes Scheduler control messages for communication with the downsteam NEM layer
msgs | Control messages |
Implements EMANE::Models::TDMA::SchedulerUser.
Definition at line 152 of file basemodel.cc.
|
overridevirtual |
Processes a Scheduler packet for transmission over-the-air
pkt | Packet to transmit |
Implements EMANE::Models::TDMA::SchedulerUser.
Definition at line 146 of file basemodel.cc.
|
inlinevirtualinherited |
Process a timed event
eventId | Identifier corresponding to the timer being processed |
expireTime | The time the timer was scheduled to expire |
scheduleTime | The Time the timer was scheduled |
fireTime | Time time The time the timer actually fired |
arg | Opaque timed event data |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::Models::Bypass::PHYLayer, EMANE::NEMQueuedLayer, EMANE::Models::PHYAPITest::ShimLayer, EMANE::Models::CommEffect::Shim, EMANE::Agents::GPSDLocation::Agent, EMANE::TimerServiceProxy, and EMANE::NEMTimerServiceProxy.
Definition at line 62 of file timerserviceuser.h.
|
overridevirtual |
Process upstream control message
msgs | reference to the ControlMessages |
Implements EMANE::UpstreamTransport.
Definition at line 99 of file basemodel.cc.
|
overridevirtual |
Process an upstream packet
hdr | MAC message header |
pkt | Upstream packet reference |
msgs | Optional control messages |
Implements EMANE::MACLayerImplementor.
Definition at line 105 of file basemodel.cc.
|
inlineinherited |
Send downstream control message
msgs | reference to the ControlMessages |
Definition at line 44 of file upstreamtransport.inl.
|
inlineinherited |
Sends a downstream packet
hdr | MAC message header |
pkt | Downstream packet reference |
msgs | Optional control messages |
Definition at line 37 of file maclayerimpl.inl.
|
inlineinherited |
Send upstream control message
msgs | Reference to the ControlMessages |
Definition at line 44 of file downstreamtransport.inl.
|
inlineinherited |
Send upstream packet
pkt | Reference to the UpstreamPacket to process |
msgs | optional reference to the ControlMessages |
Definition at line 37 of file downstreamtransport.inl.
|
inlineinherited |
Sets the application wide unique BuildId of this object. Builders assign a BuildId to objects at instantiation.
bid | the BuildId |
Definition at line 40 of file buildable.inl.
|
inlinevirtualinherited |
Set the downstream transport.
pDownstreamTransport | Pointer to the downstream transport of this upstream transport. |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::PHYLayer, EMANE::MACLayer, EMANE::ShimLayer, and EMANE::TransportLayer.
Definition at line 82 of file upstreamtransport.h.
|
inlinevirtualinherited |
Set the upstream transport.
pUpstreamTransport | Pointer to the upstream transport of this downstream transport. |
Reimplemented in EMANE::NEMStatefulLayer, EMANE::MACLayer, EMANE::ShimLayer, EMANE::PHYLayer, and EMANE::TransportLayer.
Definition at line 79 of file downstreamtransport.h.
|
overridevirtual |
Start the component.
StartException | thrown when an error is encountered during start. |
Implements EMANE::Component.
Definition at line 71 of file basemodel.cc.
|
overridevirtual |
Stop the component.
StopException | thrown when an error is encountered during stop |
Implements EMANE::Component.
Definition at line 85 of file basemodel.cc.
|
staticinherited |
Definition at line 97 of file scheduleruser.h.
|
staticinherited |
Definition at line 102 of file downstreamtransport.h.
|
staticinherited |
Definition at line 106 of file upstreamtransport.h.
|
protectedinherited |
Definition at line 81 of file nemlayer.h.
|
protectedinherited |
Definition at line 64 of file platformserviceuser.h.
|
protectedinherited |
Definition at line 57 of file radioserviceuser.h.