Singleton class that is the entry point to start using the ByteBlower API. More...
Methods | |
API.Version.Get | |
Returns the version of the API. More... | |
Description.Get | |
Returns a textual description of the object. | |
Logging.Console.Level.Get | |
Logging.Console.Level.Set | |
Logging.File.Enable | |
Logging.File.IsEnabled | |
Logging.File.Level.Get | |
Logging.File.Level.Set | |
Logging.File.Name.Get | |
Returns the current log file if enabled. More... | |
Logging.File.Name.Set filepath | |
Enables (or disables) file logging to a specified file name. More... | |
Logging.Levels.Get | |
Returns a list of the available log levels. More... | |
MeetingPoint.Add server port | |
Opens a connection to a Meeting Point and adds it to the current API instance. More... | |
MeetingPoint.Get | |
Returns all Meeting Point connections within this API instance. More... | |
Parent.Get | |
Returns the parent object. | |
Ports.Start ports... | |
Starts all traffic streams and application schedules on the specified ByteBlower ports. More... | |
Ports.Stop ports... | |
Stops all traffic streams and application schedules on the specified ByteBlower ports. More... | |
Results.Refresh | |
Refreshes multiple result objects. More... | |
Schedule.Group.Create | |
Create a ScheduleGroup. More... | |
Schedule.Group.Get | |
Returns all existing ScheduleGroup. More... | |
Schedules.Start schedules... | |
Starts the specified schedulable objects. More... | |
Schedules.Stop schedules... | |
Stops the specified schedulable objects. More... | |
Server.Add server port | |
Opens a connection to a ByteBlower server and adds it to the current API instance. More... | |
Server.Get | |
Returns all server connections within this API instance. More... | |
WirelessEndpoints.Prepare.Async wirelessEndpoints... | |
Prepares all the specified Wireless Endpoints in an asynchronious way. More... | |
WirelessEndpoints.Prepare wirelessEndpoints... | |
Prepares all the specified Wireless Endpoints. More... | |
WirelessEndpoints.Start wirelessEndpoints... | |
Starts all traffic streams and application schedules on the specified Wireless Endpoints. More... | |
WirelessEndpoints.StartAndWait wirelessEndpoints... | |
Starts all traffic streams and application schedules on the specified Wireless Endpoints And waits until the devices are started. More... | |
Static methods | |
API.Version.Get | |
Returns the version of the API. More... | |
Instance.Get | |
Creates or returns the ByteBlower API singleton instance. More... | |
MeetingPoint.Add server port | |
Opens a connection to a Meeting Point and adds it to the current API instance. More... | |
MeetingPoint.Get | |
Returns all Meeting Point connections within this API instance. More... | |
Ports.Start ports... | |
Start all traffic streams and application schedules on the specified ByteBlower ports. More... | |
Ports.Stop ports... | |
Stops all traffic streams and application schedules on the specified ByteBlower ports. More... | |
Results.Refresh results... | |
Refreshes all results given. More... | |
Schedules.Start schedules... | |
Starts the specified schedulable objects. More... | |
Schedules.Stop schedules... | |
Stops the specified schedulable objects. More... | |
Server.Add server port | |
Opens a connection to a ByteBlower server and adds it to the current API instance. More... | |
Server.Get | |
Returns all server connections within this API instance. More... | |
Tk | |
Opens a basic graphical user interface, that provides access to all functionality of this class. More... | |
Singleton class that is the entry point to start using the ByteBlower API.
Typically, this is the first class you will use when writing a ByteBlower test script. Use this class to connect to ByteBlower servers, to start or stop all configured ByteBlower ports across those servers, and to control the logging behavior.
Retrieve the singleton ByteBlower object using the static method Instance.Get.
This class contains some static convenience methods. They are wrappers around the corresponding non-static methods of the singleton object.
ByteBlower::API.Version.Get |
|
static |
|
static |
Creates or returns the ByteBlower API singleton instance.
This object is the entry point to start working with the ByteBlower Tcl API.
If no ByteBlower instance is created yet, this method creates one and returns the object. If the instance exists already, it is simply returned. Any other static call will implicitly instantiate this singleton object.
Returns:
<ByteBlower object>
ByteBlower::Logging.File.Name.Get |
Returns the current log file if enabled.
If file logging was successfully configured, the log file path is returned. Otherwise, the empty string is returned.
Returns:
myscript.log
ByteBlower::Logging.File.Name.Set | filepath | ||
Enables (or disables) file logging to a specified file name.
By specifying a path name or the empty string, file logging can be enabled or disabled respectively.
If a simple filename is passed, the file will be searched (and created/opened) in the current directory. If a path is specified, the file will be created or opened there. Note that the directory path must already exist, parent directories will not be created automatically.
filepath | Path to the desired log file or the empty string to disable file logging. |
ByteBlower::Logging.Levels.Get |
Returns a list of the available log levels.
The available logging levels and their default state are:
Returns:
DEPRECATED ERROR WARNING INFO DEBUG TRACE
ByteBlower::MeetingPoint.Add | server port | ||
Opens a connection to a Meeting Point and adds it to the current API instance.
A single client instance may be connected to multiple MeetingPoint servers. This allows to use a set of Meeting point servers as a single system. On the other hand, multiple client instances may be connected to a single (shared) MeetingPoint server and will share its resources. See MeetingPoint for more information.
server | IP address or hostname of the MeetingPoint server to connect. |
port | Remote TCP port on which to connect the MeetingPoint server. Should normally never be overridden. Default: 9101 |
ByteBlower.Exception.API.MeetingPointUnreachable | When the MeetingPoint server daemon could not be reached. Typical causes are an incorrect or unreachable DNS name or IP address or a MeetingPoint server daemon that is not running (on purpose or due to a software issue). |
<tcl_error> | Relevant network error: When something unexpectedly went wrong with the network connection. |
ByteBlower.Exception.InvalidValue.Integer | When the <port> parameter is provided and is no integer. |
Returns:
<MeetingPoint object>
|
static |
Opens a connection to a Meeting Point and adds it to the current API instance.
A single client instance may be connected to multiple MeetingPoint servers. This allows to use a set of Meeting point servers as a single system. On the other hand, multiple client instances may be connected to a single (shared) MeetingPoint server and will share its resources. See MeetingPoint for more information.
server | IP address or hostname of the MeetingPoint server to connect. |
port | Remote TCP port on which to connect the MeetingPoint server. Should normally never be overridden. Default: 9101 |
ByteBlower.Exception.API.MeetingPointUnreachable | When the MeetingPoint server daemon could not be reached. Typical causes are an incorrect or unreachable DNS name or IP address or a MeetingPoint server daemon that is not running (on purpose or due to a software issue). |
<tcl_error> | Relevant network error: When something unexpectedly went wrong with the network connection. |
ByteBlower.Exception.InvalidValue.Integer | When the <port> parameter is provided and is no integer. |
Returns:
<MeetingPoint object>
ByteBlower::MeetingPoint.Get |
Returns all Meeting Point connections within this API instance.
See MeetingPoint.Add for more information
Returns:
[ <MeetingPoint object> ... ]
|
static |
Returns all Meeting Point connections within this API instance.
See MeetingPoint.Add for more information
Returns:
[ <MeetingPoint object> ... ]
ByteBlower::Ports.Start | ports... | ||
Starts all traffic streams and application schedules on the specified ByteBlower ports.
More specifically, for each traffic stream and schedulable object on the specified ports, the configured time to wait kicks off and when this time has passed the corresponding action is performed.
Typical actions include starting a traffic stream or sending out a multicast join message or HTTP request. See Tx.Stream and Schedules.Start for more information.
Streams or schedulable objects that are already scheduled and streams that are already active are ignored. Schedulable objects that are already stopped are scheduled again. See Schedules.Start for more information.
If a port does not contain any streams or schedules, nothing happens for that port.
ports... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <ports> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <ports> is no ByteBlowerPort object. |
|
static |
Start all traffic streams and application schedules on the specified ByteBlower ports.
See ByteBlower::Ports.Start for more information.
ports... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <ports> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <ports> is no ByteBlowerPort object. |
ByteBlower::Ports.Stop | ports... | ||
Stops all traffic streams and application schedules on the specified ByteBlower ports.
More specifically, all traffic streams and schedulable objects that are currently scheduled are cancelled and all active traffic streams are stopped. Since schedulable objects are only active for an instant, aborting these is not possible.
For more information about schedulable objects, see Schedules.Start.
Streams and schedules that are not running are ignored. This may be because they have not yet started or because they are already finished or stopped.
If a port does not contain any streams or schedules, nothing happens for that port.
ports... | Zero, one or more ByteBlowerPort objects on which to abort traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <ports> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <ports> is no ByteBlowerPort object. |
|
static |
Stops all traffic streams and application schedules on the specified ByteBlower ports.
See ByteBlower::Ports.Stop for more information.
ports... | Zero, one or more ByteBlowerPort objects on which to abort traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <ports> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <ports> is no ByteBlowerPort object. |
ByteBlower::Results.Refresh |
Refreshes multiple result objects.
Sometimes you want to refresh a lot of results-object at the same time. You can refresh all those object in one API call. The results will be batched per server and then refreshed.
|
static |
Refreshes all results given.
See ByteBlower::Results.Refresh for more information.
results... | Zero, one or more result objects on which to call the Refresh function |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <results> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <results> is not refreshable. |
ByteBlower::Schedule.Group.Create |
ByteBlower::Schedule.Group.Get |
Returns all existing ScheduleGroup.
Returns:
[ <ScheduleGroup object> ... ]
ByteBlower::Schedules.Start | schedules... | ||
Starts the specified schedulable objects.
More specifically, all specified schedulable objects have their time to wait period kick off simultaneously and when this time has passed the corresponding action is performed.
Typical actions include sending out a multicast join message or an HTTP request. All schedulable objects are listed below.
Schedulable objects that are already scheduled are ignored. Schedulable objects that are already finished or cancelled are scheduled again.
While re-scheduling them will always succeed (and this method will return without error), executing them multiple times may result in error states in other places. For example, a Layer5.Http.Client can only manage one HTTP session and will refuse to send out a second HTTP request.
Different kinds of schedulable objects exist throughout the API. They are returned by methods such as Layer4.Igmpv1MemberSession::Schedule.Add.
After creating and configuring such schedules, they can be scheduled by either passing them to this method or by passing the port(s) on which they were created to Ports.Start.
The following schedulable object types are available in the API:
These schedules will become available as soon as their respective protocols are implemented:
schedules... | Zero, one or more schedulable objects to start. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <schedules> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <schedules> is no schedulable object. |
|
static |
Starts the specified schedulable objects.
See ByteBlower::Schedules.Start for more information.
schedules... | Zero, one or more schedulable objects to start. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <schedules> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <schedules> is no schedulable object. |
ByteBlower::Schedules.Stop | schedules... | ||
Stops the specified schedulable objects.
More specifically, all specified schedulable objects that are currently scheduled are cancelled. Schedulable objects are only active for an instant, so actually aborting them is not possible.
For more information about schedulable objects, see Schedules.Start.
Schedules that are not running are ignored. This may be because they have not yet started or because they are already finished or cancelled.
schedules... | Zero, one or more schedulable objects to abort. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <schedules> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <schedules> is no schedulable object. |
|
static |
Stops the specified schedulable objects.
See ByteBlower::Schedules.Stop for more information.
schedules... | Zero, one or more schedulable objects to abort. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <schedules> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <schedules> is no schedulable object. |
ByteBlower::Server.Add | server port | ||
Opens a connection to a ByteBlower server and adds it to the current API instance.
A single client instance may be connected to multiple ByteBlower servers. This allows to use a set of ByteBlower servers as a single system. On the other hand, multiple client instances may be connected to a single (shared) ByteBlower server and will share its resources. See ByteBlowerServer for more information.
server | IP address or hostname of the ByteBlower server to connect. |
port | Remote TCP port on which to connect the ByteBlower server. Should normally never be overridden. Default: 9002 |
ByteBlower.Exception.API.ByteBlowerServerUnreachable | When the ByteBlower server daemon could not be reached. Typical causes are an incorrect or unreachable DNS name or IP address or a ByteBlower server daemon that is not running (on purpose or due to a software issue). |
ByteBlower.Exception.API.ByteBlowerServerIncompatible | When the ByteBlower server daemon is running an incompatible version. |
<tcl_error> | Relevant network error: When something unexpectedly went wrong with the network connection. |
ByteBlower.Exception.InvalidValue.Integer | When the <port> parameter is provided and is no integer. |
Returns:
<ByteBlowerServer object>
|
static |
Opens a connection to a ByteBlower server and adds it to the current API instance.
See ByteBlower::Server.Add for more information.
server | IP address or hostname of the ByteBlower server to connect. |
port | Remote TCP port on which to connect the ByteBlower server. Should normally never be overridden. Default: 9002 |
ByteBlower.Exception.API.ByteBlowerServerUnreachable | When the ByteBlower server daemon could not be reached. Typical causes are an incorrect or unreachable DNS name or IP address or a ByteBlower server daemon that is not running (on purpose or due to a software issue). |
ByteBlower.Exception.API.ByteBlowerServerIncompatible | When the ByteBlower server daemon is running an incompatible version. |
<tcl_error> | Relevant network error: When something unexpectedly went wrong with the network connection. |
ByteBlower.Exception.InvalidValue.Integer | When the <port> parameter is provided and is no integer. |
Returns:
<ByteBlowerServer object>
ByteBlower::Server.Get |
Returns all server connections within this API instance.
See Server.Add for more information.
Returns:
[ <ByteBlowerServer object> ... ]
|
static |
Returns all server connections within this API instance.
See ByteBlower::Server.Get for more information.
Returns:
[ <ByteBlowerServer object> ... ]
|
static |
Opens a basic graphical user interface, that provides access to all functionality of this class.
<tcl_error> | When the TK package is not available. Typically occurs when the API runs on a server without a graphical environment |
Assume a graphical environment is available on the client (i.e. the client is a desktop).
ByteBlower::WirelessEndpoints.Prepare | wirelessEndpoints... | ||
Prepares all the specified Wireless Endpoints.
If a wireless endpoint does not contain any streams or schedules, nothing happens for that Wireless Endpoint.
wirelessEndpoints... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <wirelessEndpoints> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <wirelessEndpoints> is no WirelessEndpoint object. |
ByteBlower.Exception.TechnicalError | When the items in <wirelessEndpoints> are spread across multiple MeetingPoints. |
ByteBlower::WirelessEndpoints.Prepare.Async | wirelessEndpoints... | ||
Prepares all the specified Wireless Endpoints in an asynchronious way.
If a wireless endpoint does not contain any streams or schedules, nothing happens for that Wireless Endpoint.
wirelessEndpoints... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <wirelessEndpoints> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <wirelessEndpoints> is no WirelessEndpoint object. |
ByteBlower.Exception.TechnicalError | When the items in <wirelessEndpoints> are spread across multiple MeetingPoints. |
ByteBlower::WirelessEndpoints.Start | wirelessEndpoints... | ||
Starts all traffic streams and application schedules on the specified Wireless Endpoints.
More specifically, for each traffic stream and trigger object on the specified endpoints, the configured time to wait kicks off and when this time has passed the corresponding action is performed.
Typical actions include starting a traffic stream or HTTP request. See Tx.Stream.Mobile for more information.
If a wireless endpoint does not contain any streams or schedules, nothing happens for that Wireless Endpoint.
wirelessEndpoints... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <wirelessEndpoints> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <wirelessEndpoints> is no WirelessEndpoint object. |
ByteBlower.Exception.TechnicalError | When the items in <wirelessEndpoints> are spread across multiple MeetingPoints. |
ByteBlower::WirelessEndpoints.StartAndWait | wirelessEndpoints... | ||
Starts all traffic streams and application schedules on the specified Wireless Endpoints And waits until the devices are started.
More specifically, for each traffic stream and trigger object on the specified endpoints, the configured time to wait kicks off and when this time has passed the corresponding action is performed.
Typical actions include starting a traffic stream or HTTP request. See Tx.Stream.Mobile for more information.
If a wireless endpoint does not contain any streams or schedules, nothing happens for that Wireless Endpoint.
wirelessEndpoints... | Zero, one or more ByteBlowerPort objects on which to start traffic streams and application schedules. |
ByteBlower.Exception.InvalidValue.NotAnObject | When one of the items in <wirelessEndpoints> is no object identifier. |
ByteBlower.Exception.InvalidValue.ObjectType | When one of the items in <wirelessEndpoints> is no WirelessEndpoint object. |
ByteBlower.Exception.TechnicalError | When the items in <wirelessEndpoints> are spread across multiple MeetingPoints. |