34 #ifndef EMANEMODELSCOMMEFFECTSHIM_HEADER_ 35 #define EMANEMODELSCOMMEFFECTSHIM_HEADER_ 66 void start()
override;
70 void destroy()
throw()
override;
89 const void * arg)
override;
93 using EORTimeMap = std::map<NEMId, TimePoint>;
97 std::uint32_t u32UpstreamSequenceNumber_;
99 std::uint32_t u32DownstreamSequenceNumber_;
101 bool bDefaultConnectivity_;
103 bool bEnablePromiscousMode_;
105 bool bEnableTightTimingMode_;
107 std::uint32_t u32GroupId_;
109 EORTimeMap EORTimeMap_;
113 std::string sFilterFile_;
116 std::uniform_real_distribution<float>> RNDZeroToOneHundred_;
124 size_t getTaskCount(
float fLoss,
float fDups);
128 std::pair<TimePoint,bool> getEORTime(
NEMId src);
134 #endif // EMANEMODELSCOMMEFFECTSHIM_HEADER_ std::string Serialization
A Packet class that allows upstream processing to strip layer headers as the packet travels up the st...
void processUpstreamControl(const ControlMessages &msgs) override
The Registrar interface provides access to all of the emulator registrars.
Shim(NEMId id, PlatformServiceProvider *pPlatformService, RadioServiceProvider *pRadioService)
std::list< const ControlMessage * > ControlMessages
void processDownstreamControl(const ControlMessages &msgs) override
Common NEM layer statistics and drop reason tables.
Interface used to create a Shim layer plugin implementation.
void processEvent(const EventId &, const Serialization &) override
void processDownstreamPacket(DownstreamPacket &pkt, const ControlMessages &msgs) override
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
std::chrono::microseconds Microseconds
The RadioServiceProvider interface provides access to radio (RF) model specific services.
void initialize(Registrar ®istrar) override
std::vector< ConfigurationNameAnyValues > ConfigurationUpdate
void processTimedEvent(TimerEventId eventId, const TimePoint &expireTime, const TimePoint &scheduleTime, const TimePoint &fireTime, const void *arg) override
Clock::time_point TimePoint
void configure(const ConfigurationUpdate &update) override
void processUpstreamPacket(UpstreamPacket &pkt, const ControlMessages &msgs) override
A utility wrapper around a generator and a distribution.