reverted to using class variables for emane models due to inheritence from config class
This commit is contained in:
parent
19ccd6a63b
commit
beb5be2ee9
6 changed files with 28 additions and 32 deletions
|
@ -2,11 +2,11 @@
|
|||
EMANE Bypass model for CORE
|
||||
"""
|
||||
|
||||
from core.emane.emanemodel import EmaneModel
|
||||
from core.emane import emanemodel
|
||||
from core.enumerations import ConfigDataTypes
|
||||
|
||||
|
||||
class EmaneBypassModel(EmaneModel):
|
||||
class EmaneBypassModel(emanemodel.EmaneModel):
|
||||
name = "emane_bypass"
|
||||
library = "bypassmaclayer"
|
||||
|
||||
|
@ -16,7 +16,5 @@ class EmaneBypassModel(EmaneModel):
|
|||
"There are no parameters for the bypass model."),
|
||||
]
|
||||
_config_phy = []
|
||||
|
||||
@property
|
||||
def config_groups(self):
|
||||
return "Bypass Parameters:1-1"
|
||||
config_matrix = _config_mac + _config_phy
|
||||
config_groups = "Bypass Parameters:1-1"
|
||||
|
|
|
@ -3,7 +3,7 @@ commeffect.py: EMANE CommEffect model for CORE
|
|||
"""
|
||||
|
||||
from core import logger
|
||||
from core.emane.emanemodel import EmaneModel
|
||||
from core.emane import emanemodel
|
||||
from core.enumerations import ConfigDataTypes
|
||||
|
||||
try:
|
||||
|
@ -24,7 +24,7 @@ def convert_none(x):
|
|||
return int(x)
|
||||
|
||||
|
||||
class EmaneCommEffectModel(EmaneModel):
|
||||
class EmaneCommEffectModel(emanemodel.EmaneModel):
|
||||
name = "emane_commeffect"
|
||||
|
||||
config_matrix = [
|
||||
|
@ -35,9 +35,7 @@ class EmaneCommEffectModel(EmaneModel):
|
|||
("defaultconnectivitymode", ConfigDataTypes.BOOL.value, "1", "On,Off", "defaultconnectivity"),
|
||||
]
|
||||
|
||||
@property
|
||||
def config_groups(self):
|
||||
return "CommEffect SHIM Parameters:1-%d" % len(self.config_matrix)
|
||||
config_groups = "CommEffect SHIM Parameters:1-%d" % len(config_matrix)
|
||||
|
||||
def build_xml_files(self, emane_manager, interface):
|
||||
"""
|
||||
|
|
|
@ -9,9 +9,10 @@ from core.mobility import WirelessModel
|
|||
from core.xml import xmlutils
|
||||
|
||||
|
||||
def classproperty(_):
|
||||
def __get__(self, _, inst):
|
||||
return self.fget.__get__(None, inst)()
|
||||
def create_config_groups(config_mac, config_matrix):
|
||||
mac_len = len(config_mac)
|
||||
config_len = len(config_matrix)
|
||||
return "MAC Parameters:1-%d|PHY Parameters:%d-%d" % (mac_len, mac_len + 1, config_len)
|
||||
|
||||
|
||||
def value_to_params(doc, name, value):
|
||||
|
@ -129,22 +130,12 @@ class EmaneModel(WirelessModel):
|
|||
_config_phy = EmaneUniversalModel.config_matrix
|
||||
library = None
|
||||
config_ignore = set()
|
||||
config_matrix = _config_mac + _config_phy
|
||||
config_groups = create_config_groups(_config_mac, config_matrix)
|
||||
|
||||
def __init__(self, session, object_id=None):
|
||||
WirelessModel.__init__(self, session, object_id)
|
||||
|
||||
@classproperty
|
||||
@classmethod
|
||||
def config_matrix(cls):
|
||||
return cls._config_mac + cls._config_phy
|
||||
|
||||
@classproperty
|
||||
@classmethod
|
||||
def config_groups(cls):
|
||||
mac_len = len(cls._config_mac)
|
||||
config_len = len(cls.config_matrix)
|
||||
return "MAC Parameters:1-%d|PHY Parameters:%d-%d" % (mac_len, mac_len + 1, config_len)
|
||||
|
||||
def build_xml_files(self, emane_manager, interface):
|
||||
"""
|
||||
Builds xml files for emane. Includes a nem.xml file that points to both mac.xml and phy.xml definitions.
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
ieee80211abg.py: EMANE IEEE 802.11abg model for CORE
|
||||
"""
|
||||
|
||||
from core.emane.emanemodel import EmaneModel
|
||||
from core.emane import emanemodel
|
||||
from core.enumerations import ConfigDataTypes
|
||||
|
||||
|
||||
class EmaneIeee80211abgModel(EmaneModel):
|
||||
class EmaneIeee80211abgModel(emanemodel.EmaneModel):
|
||||
# model name
|
||||
name = "emane_ieee80211abg"
|
||||
library = "ieee80211abgmaclayer"
|
||||
|
@ -45,6 +45,9 @@ class EmaneIeee80211abgModel(EmaneModel):
|
|||
("wmmenable", ConfigDataTypes.BOOL.value, "0", "On,Off", "WiFi Multimedia (WMM)"),
|
||||
]
|
||||
|
||||
config_matrix = _config_mac + emanemodel.EmaneModel._config_phy
|
||||
config_groups = emanemodel.create_config_groups(_config_mac, config_matrix)
|
||||
|
||||
def create_mac_doc(self, emane_manager, values):
|
||||
names = self.getnames()
|
||||
mac_names = names[:len(self._config_mac)]
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
rfpipe.py: EMANE RF-PIPE model for CORE
|
||||
"""
|
||||
|
||||
from core.emane.emanemodel import EmaneModel
|
||||
from core.emane import emanemodel
|
||||
from core.enumerations import ConfigDataTypes
|
||||
|
||||
|
||||
class EmaneRfPipeModel(EmaneModel):
|
||||
class EmaneRfPipeModel(emanemodel.EmaneModel):
|
||||
# model name
|
||||
name = "emane_rfpipe"
|
||||
library = "rfpipemaclayer"
|
||||
|
@ -27,3 +27,6 @@ class EmaneRfPipeModel(EmaneModel):
|
|||
("radiometricreportinterval", ConfigDataTypes.FLOAT.value, "1.0", "",
|
||||
"R2RI radio metric report interval (sec)"),
|
||||
]
|
||||
|
||||
config_matrix = _config_mac + emanemodel.EmaneModel._config_phy
|
||||
config_groups = emanemodel.create_config_groups(_config_mac, config_matrix)
|
||||
|
|
|
@ -6,12 +6,12 @@ import os
|
|||
|
||||
from core import constants
|
||||
from core import logger
|
||||
from core.emane.emanemodel import EmaneModel
|
||||
from core.emane import emanemodel
|
||||
from core.enumerations import ConfigDataTypes
|
||||
from core.misc import utils
|
||||
|
||||
|
||||
class EmaneTdmaModel(EmaneModel):
|
||||
class EmaneTdmaModel(emanemodel.EmaneModel):
|
||||
# model name
|
||||
name = "emane_tdma"
|
||||
library = "tdmaeventschedulerradiomodel"
|
||||
|
@ -46,6 +46,9 @@ class EmaneTdmaModel(EmaneModel):
|
|||
"enable strict dequeueing to specified queues only"),
|
||||
]
|
||||
|
||||
config_matrix = _config_mac + emanemodel.EmaneModel._config_phy
|
||||
config_groups = emanemodel.create_config_groups(_config_mac, config_matrix)
|
||||
|
||||
def post_startup(self, emane_manager):
|
||||
"""
|
||||
Logic to execute after the emane manager is finished with startup.
|
||||
|
|
Loading…
Add table
Reference in a new issue