Skip to content
This repository has been archived by the owner on Aug 25, 2020. It is now read-only.

Release Notes 0.6

danbim edited this page May 19, 2011 · 3 revisions

API Changes

The 0.6 release of Testbed Runtime implements the new version 2.2 of the WISEBED iWSN APIs. Therefore, clients need to update their implementation, too! The API changes in detail:

Change Nr. Interfaces Affected Short Description Comments
1 Controller, WSN The text message type has been *removed*, using the *binary type as the carrier for everything*. In Java and the BeanShell scripting client this results in the class ```Message``` being the only class generated by importing the WSDL files. There is no more class ```BinaryMessage``` or ```TextMessage``` anymore (cf. below).
2 Controller Both ```receive()``` and ```receiveStatus()``` on the Controller API are permitted to contain an array of messages instead of only one. In Java's Web service stubs which are also used by the wisebed-cmdline-client (aka BeanShell client, aka scripting client) this results in ```Controller.receive(List messages)``` (```Controller.receive(List messages)``` for BeanShell as generics are not support here resp.).
3 Controller A method ```receiveNotification()``` was added to the Controller API, allowing the backend to provide important testbed status/warning messages to the user (note the controller is not mandated to implement this function and can just have a stub that does nothing. This method is, e.g., called by the backend if it drops experiment outputs if it is not able to deliver them in the same rate as sent by the nodes due to, e.g., high network latency or low bandwidth. The best is to always implement this method as to get notified of problems that may affect the experiment outputs.
4 Controller A method ```experimentEnded()``` was added to the Controller API, allowing the backend to inform the controller that it can (if it so wishes) shut down as the experiment/reservation is over and all messages have been delivered to the client.
5 WSN Added a function ```getConfiguration()``` to the Session Management API which returns the URNs of the other Web service endpoints (i.e. RS and SNAA), so the user only needs to know a single endpoint (that of the Session Management API) to use a testbed. This change is not yet included in the experiment scripts of the project but can surely be used in custom clients.