Introduction

The ROSCore package is the heart of a ROS/RCD implementation. It includes the IOManager class that some people like to use as the name of the whole application.

Changes since tdaq-01-09-00

The name of the IS server for publishing statistics is now taken from the configuration instead of being hardwired to "DF".

The order in which ReadoutModules are unconfigured should be is now the reverse of the order in which they were configured in case there is a dependency on the order.

All Requests are now time-stamped at creation (not just DataRequests). Two times can be set with static methods setMaxAge() and setDelay(). The age of a Request can be tested against these limits with methods checkAge() and timeToExecute().

ReleaseRequests may now be delayed using the above mechanism to help the situation where clears are regularly seen before the data have arrived

The special meaning of 0 for request timeout has been removed. A request timeout of 0 now means the request will never be retried and not that it will be retried forever.

A ReadoutApplication with no TriggerIn defined cannot have any requests queued so we do not start any RequestHandler threads when there is no TriggerIn.

Waiting for a TriggerIn thread which had never been started to stop used to cause a timeout. We now check that the thread was started before waiting for it to stop.

The default value for the info argument to the SequentialDataChannel constructor has been removed as it only caused an error at run time