def get_meta_description(): from metaConfig.metaTable import MetaTable from metaConfig.metaTableField import MetaTableField config = MetaTable( PacketLossTable.DB_TABLE_NAME, header_doc= """In this csv file you are able to set settings for packet loss manipulation, which can be applied on different streamed sources.""", fields=[ MetaTableField( PacketLossTable.DB_TABLE_FIELD_NAME_PACKET_LOSS_ID, int, 'unique id identifying the packet loss settings'), MetaTableField( PacketLossTable.DB_TABLE_FIELD_NAME_MANIPULATOR_TOOL, str, 'name of the manipulator tool to use', PacketLossTable.VALID_FIELD_VALUES__MANIPULATOR_TOOL), MetaTableField( PacketLossTable.DB_TABLE_FIELD_NAME_MANIPULATOR_TOOL_ID, int, 'unique id which refers to the manipulator\'s specific settings' ) ]) from manipulators.resources.trafficControlManipulatorResource import TrafficControlManipulatorResource as TCRes from manipulators.resources.telchemyManipulatorResource import TelchemyManipulatorResource as TelchemyRes config.add_children( [TCRes.get_meta_description(), TelchemyRes.get_meta_description()]) return config
def get_meta_description(): from metaConfig.metaTable import MetaTable from metaConfig.metaTableField import MetaTableField config = MetaTable( TelchemyManipulatorMarkovResource.DB_TABLE_NAME, header_doc= """In this csv file you are able to configure different individual setting combination which can be used to manipulate .pcap files with the telchemy tpkloss tool, but only for markov models.""", fields=[ MetaTableField( TelchemyManipulatorMarkovResource.DB_FIELD_NAME_ID, int, 'unique id to identify each data set individually'), MetaTableField( TelchemyManipulatorMarkovResource.DB_FIELD_MARKOV_TYPE, str, 'markov model to use for the manipulation', { TelchemyManipulatorMarkovResource.DB_FIELD_VALUE_MARKOV_TYPE_2STATE_VALUE: '2-state markov model (config in: %s/%s table)' % (TelchemyManipulatorResource.DB_TABLE_NAME, TelchemyManipulatorMarkov2StateResource.DB_TABLE_NAME ), TelchemyManipulatorMarkovResource.DB_FIELD_VALUE_MARKOV_TYPE_4STATE_VALUE: '4-state markov model (config in: %s/%s table)' % (TelchemyManipulatorResource.DB_TABLE_NAME, TelchemyManipulatorMarkov4StateResource.DB_TABLE_NAME ), TelchemyManipulatorMarkovResource.DB_FIELD_VALUE_MARKOV_TYPE_PNAMSPBNAMS_4STATE_VALUE: 'P.NAMS/P.NBAMS 4-state markov model (config in: %s/%s table)' % (TelchemyManipulatorResource.DB_TABLE_NAME, TelchemyManipulatorMarkovPNamsPNBams4StateResource. DB_TABLE_NAME) }), MetaTableField( TelchemyManipulatorMarkovResource.DB_FIELD_MARKOV_ID, int, 'id to identify the settings linked to the appropriate models' ), MetaTableField( TelchemyManipulatorMarkovResource.DB_FIELD_START_AFTER, int, 'time in ms after the transmission\'s beginning, when the manipulation should start' ), MetaTableField( TelchemyManipulatorMarkovResource.DB_FIELD_END_BEFORE, int, 'time in ms before the transmission\'s end, when the manipulation should stop' ), ]) config.add_children([ TelchemyManipulatorMarkov2StateResource.get_meta_description(), TelchemyManipulatorMarkov4StateResource.get_meta_description(), TelchemyManipulatorMarkovPNamsPNBams4StateResource. get_meta_description() ]) return config
def get_meta_description(): from metaConfig.metaTable import MetaTable from metaConfig.metaTableField import MetaTableField config = MetaTable( 'hrc', header_doc="""In this csv file you are able to link different settings together which can be applied on an arbitrary source.""", fields=[ MetaTableField( HrcTable.DB_TABLE_FIELD_NAME_HRC_ID, int, 'unique id for each individual HRC data set used to reference it' ), MetaTableField( EncodingTable.DB_TABLE_FIELD_NAME_ENCODING_ID, int, 'id of the settings used for encoding (Defined in the hrc/encoding.csv file)' ), MetaTableField( PacketLossTable.DB_TABLE_FIELD_NAME_PACKET_LOSS_ID, int, 'id of the settings used for packet manipulation (Defined in the hrc/packet_loss.csv file)' ), MetaTableField( HrcTable.DB_TABLE_FIELD_NAME_CODER_ID, str, 'name of the coder to use for encoding, streaming and decoding' ), MetaTableField( HrcTable.DB_TABLE_FIELD_NAME_STREAM_MODE, str, 'mode in which the file should be streamed', HrcTable.VALID_STREAM_MODES ) ] ) # build sub-tree from hrc config.add_children([EncodingTable.get_meta_description(), PacketLossTable.get_meta_description()]) return config
def get_meta_description(): from metaConfig.metaTable import MetaTable from metaConfig.metaTableField import MetaTableField config = MetaTable( TelchemyManipulatorResource.DB_TABLE_NAME, header_doc= """In this csv file you are able to configure different individual setting combination which can be used to manipulate .pcap files with the telchemy tpkloss tool.""", fields=[ MetaTableField( TelchemyManipulatorResource.DB_FIELD_NAME_ID, int, 'unique id to identify each data set individually'), MetaTableField( TelchemyManipulatorResource.DB_FIELD_MANIPULATION_TYPE, str, 'defines the manipulation model to use for the manipulation', { TelchemyManipulatorResource.MANIPULATION_TYPE_MARKOV: 'use a markov model (further specifications in %s table)' % TelchemyManipulatorMarkovResource.DB_TABLE_NAME, TelchemyManipulatorResource.MANIPULATION_TYPE_READ_TRACE: 'read a trace (further specifications in %s table)' % TelchemyManipulatorReadTraceResource.DB_TABLE_NAME }), MetaTableField( TelchemyManipulatorResource.DB_FIELD_MANIPULATION_ID, int, 'id to identify the settings linked to the appropriate manipulation' ) ]) config.add_children([ TelchemyManipulatorReadTraceResource.get_meta_description(), TelchemyManipulatorMarkovResource.get_meta_description() ]) return config
def get_meta_description(): from metaConfig.metaTable import MetaTable from metaConfig.metaTableField import MetaTableField config = MetaTable( TrafficControlManipulatorResource.DB_TABLE_NAME, header_doc="""In this file you are able to configure the traffic control manipulator tool for online manipulation.""", fields=[ MetaTableField( TrafficControlManipulatorResource.DB_ID_FIELD_NAME, int, 'unique id to identify the control data set' ), MetaTableField( TrafficControlManipulatorResource.DB_DELAY_FIELD_NAME, float, 'delay in ms which may occur on the packet transmission' ), MetaTableField( TrafficControlManipulatorResource.DB_JITTER_FIELD_NAME, float, 'jitter in ms in which the delay may vary' ), MetaTableField( TrafficControlManipulatorResource.DB_JITTER_DISTRIBUTION_FIELD_NAME, str, 'specification of the jitter distribution', TrafficControlManipulatorResource.DB_JITTER_DISTRIBUTION_VALID_VALUES ), MetaTableField( TrafficControlManipulatorResource.DB_LOSS_MODE_FIELD_NAME, str, """specifies in which mode the packets transmission should be manipulated, i.e. which model should be applied on""", { TrafficControlManipulatorResource.DB_LOSS_MODE_RANDOM_VALUE: 'loss is randomly distributed', TrafficControlManipulatorResource.DB_LOSS_MODE_STATE_VALUE: 'loss is distributed via markov model settings', TrafficControlManipulatorResource.DB_LOSS_MODE_GE_VALUE: 'loss is distributed via Gilbert-Elliot models' } ), MetaTableField( TrafficControlManipulatorResource.DB_LOSS_MODE_ID_FIELD_NAME, int, """an arbitrary, but unique, id referencing to a configuration set of the appropriate loss_mode, the referenced configuration can be set in the tc configuration folders (look up the file according to the mode's name!)""" ) ] ) config.add_children([ TrafficControlManipulatorGeModelResource.get_meta_description(), TrafficControlManipulatorStateModeResource.get_meta_description(), TrafficControlManipulatorRandomModeResource.get_meta_description() ]) return config