12#ifndef WSFCOMMMEDIUMUNGUIDED_HPP
13#define WSFCOMMMEDIUMUNGUIDED_HPP
15#include "wsf_export.h"
46 bool ProcessInput(UtInput& aInput)
override;
47 double GetTransmissionTime(
double aSimTime,
Comm& aXmtr,
Layer* aLayerPtr,
Message& aMessage)
override;
55 virtual double CalculateTransferRate(
Result& aResult,
bool aCanSend);
106 bool ProcessInput(UtInput& aInput)
override;
108 std::unique_ptr<Mode>
CreateDefaultMode()
const override {
return ut::make_unique<ModeUnguided>(); }
#define WSF_COMM_MEDIUM_DECLARE_ROLE_TYPE(TYPE, ROLE)
Definition WsfCommMediumTypeIdentifier.hpp:34
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfComm.hpp:43
Definition WsfCommLayer.hpp:40
Definition WsfCommMessage.hpp:95
Definition WsfCommMessage.hpp:51
Definition WsfCommResult.hpp:34
Guided(WsfScenario &aScenario)
Definition WsfCommMediumGuided.cpp:191
void EndTransmission(double aSimTime, const Message::Identifier &aIdentifier) final
Definition WsfCommMediumGuided.cpp:310
Definition WsfCommMediumMessageStatus.hpp:35
bool GetUseBER_EbNoTable() const
Definition WsfCommMediumUnguided.hpp:52
ModeUnguided * Clone() const override
Definition WsfCommMediumUnguided.hpp:42
double GetErrorCorrection() const
Definition WsfCommMediumUnguided.hpp:51
UtTable::Curve mBER_EbNoTable
A table that defines the value of Eb/No versus the Bit Error Rate.
Definition WsfCommMediumUnguided.hpp:71
~ModeUnguided() override=default
bool mUseSNR_XferRateTable
When set to true, the medium will utilize the mSNR_XferRateTable to determine transfer rate.
Definition WsfCommMediumUnguided.hpp:62
double mBitErrorProbability
The expectation value of the BER (bit error rate) in a message, entered as percentage.
Definition WsfCommMediumUnguided.hpp:65
ModeUnguided(const std::string &aName)
Definition WsfCommMediumUnguided.hpp:36
double mErrorCorrection
The value of the Forward Error Correction (FEC) applied to a message to adjust BER and Eb/No,...
Definition WsfCommMediumUnguided.hpp:68
bool mUseBER_EbNoTable
When set to true, the medium will use the mBER_EbNoTable to determine the message transfer rate.
Definition WsfCommMediumUnguided.hpp:74
bool GetUseXferRateTable() const
Definition WsfCommMediumUnguided.hpp:49
const char * GetScriptClassName() const override
Definition WsfCommMediumUnguided.hpp:44
UtTable::Curve mSNR_XferRateTable
Definition WsfCommMediumUnguided.hpp:59
double GetBitErrorProbability() const
Definition WsfCommMediumUnguided.hpp:50
ModeUnguided(const ModeUnguided &aSrc)=default
ScriptMediumModeGuidedClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfCommMediumGuided.cpp:159
UT_DECLARE_SCRIPT_METHOD(GetBitErrorProbability)
ScriptMediumModeUnguidedClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfCommMediumUnguided.cpp:214
UT_DECLARE_SCRIPT_METHOD(GetUseBER_EbNoTable)
UT_DECLARE_SCRIPT_METHOD(GetUseXferRateTable)
~ScriptMediumModeUnguidedClass() override=default
UT_DECLARE_SCRIPT_METHOD(GetErrorCorrection)
Definition WsfCommMediumTypes.hpp:40
Definition WsfCommMediumUnguided.hpp:96
std::unique_ptr< Mode > CreateDefaultMode() const override
Definition WsfCommMediumUnguided.hpp:108
const char * GetScriptClassName() const override
Definition WsfCommMediumUnguided.hpp:103
Unguided(WsfScenario &aScenario)
Definition WsfCommMediumUnguided.cpp:250
static void RegisterFactory(Types &aTypes)
Definition WsfCommMediumUnguided.cpp:261
~Unguided() override=default
TypeIdentifier GetMediumIdentifier() const override
Definition WsfCommMediumUnguided.hpp:104
Definition WsfCommMedium.cpp:31
TypeIdentifier
Definition WsfCommMediumTypeIdentifier.hpp:50
@ cUNGUIDED
Definition WsfCommMediumTypeIdentifier.hpp:53
TransmissionResult
Definition WsfCommMedium.hpp:48
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32