All Classes Namespaces Files Functions Pages
executescenario.tcl File Reference

Core module that executes higher-layer scenario configurations and returns the scenario results requested through that configuration. More...

Functions

 excentis::ByteBlower::x.GetDevicesToStart txPorts rxPorts
 Method to retrieve the objects to pass at Ports.Start and WirelessEndpoints.Start.
 
 excentis::ByteBlower::x.StartWirelessEndpoints wirelessEndpoints
 Method to start the wireless endpoints. More...
 
 excentis::ByteBlower::x.StopWirelessEndpoints wirelessEndpoints
 
 excentis::ByteBlower::x.WaitForWirelessEndpoints wirelessEndpoints
 
 excentis::ByteBlower::ExecuteScenario scenarioConfig args
 Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results. More...
 
 excentis::ByteBlower::ExecuteScenarioRT scenarioConfig args
 Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results. More...
 
 excentis::ByteBlower::DefaultCallback scenarioResultList
 Default callback method for processing the real-time results that simply prints result values on every update interval. More...
 
 excentis::ByteBlower::x.ExecuteScenario.PrepareNetwork scenarioPrepareObjectList scoutingTimetowait
 
 excentis::ByteBlower::x.ExecuteScenario.Finished txPorts scenarioObjectList extended
 
 excentis::ByteBlower::x.ExecuteScenario.GetWirelessEndpoints scenarioObjectList
 
 excentis::ByteBlower::x.ExecuteScenario.ScenarioConfig.Parse scenarioConfig extended
 
 excentis::ByteBlower::x.ExecuteScenario.CheckTxErrors scenarioObjectList txPorts
 
 excentis::ByteBlower::x.ExecuteScenario.Results.Get scenarioObjectList extended
 
 excentis::ByteBlower::x.ExecuteScenario.Timestamp.Next.Get scenarioObjectList prevTimestamp updateinterval
 
 excentis::ByteBlower::x.ExecuteScenario.Bucket.Search bucketlist timestamp
 
 excentis::ByteBlower::x.ExecuteScenario.InterRunResults.Get scenarioObjectList txPorts extended timestamp
 
 excentis::ByteBlower::x.ExecuteScenario.Cleanup scenarioObjectList
 
 excentis::ByteBlower::x.ExecuteScenario.Error scenarioObjectList errorInfo
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.Parse txParamList
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.Frame.Parse stream frameDescription
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.ScoutingFrame.Parse scoutingStream frameDescription
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.FrameFieldModifier.Parse frame fieldModifier
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.FrameSizeModifier.Parse frame frameModifier
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.FrameModifier.Parse stream frameModifier
 
 excentis::ByteBlower::x.ExecuteScenario.TxParam.TimingModifier.Parse stream timingModifier
 
 excentis::ByteBlower::x.ExecuteScenario.RxTupleFilter.Parse triggerObject filter
 
 excentis::ByteBlower::x.ExecuteScenario.RxParam.Parse rxParamList extended
 

Module overview

Core module that executes higher-layer scenario configurations and returns the scenario results requested through that configuration.

This module and its two main methods ExecuteScenario and ExecuteScenarioRT form the core of the ByteBlower higher-layer (HL) Tcl API:

  • Scenario configurations, which is nothing more then a list of traffic flow configurations, are passed as input to these methods.
  • They are subsequently parsed and mapped to objects in the lower-layer API. This happens transparent to the user.
  • The scenario is then immediately executed (i.e. all traffic flows are started).
  • After the scenario is finished, a set of result values are returned. The structure of the result is based on the provided scenario configuration.
  • Finally, all objects created before and during execution are destroyed, so the ByteBlower server is in the same state as before.

The real-time variant makes sure a callback method containing intermediate results is executed at a fixed time interval. This method can be implemented by the calling script to handle real-time results as desired.

Most other modules in the ByteBlowerHL API are built as wrappers around these calls, adding extra logic or predefining some of settings in the scenario configuration.

Definition in file executescenario.tcl.