Feature #493
Allow start/stop of recordings via RPC interface (without program restart)
Status: | Resolved | Start date: | 08/10/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | - | |||
Target version: | Robotics Service Bus - 0.5 |
Associated revisions
refs #493
- src/rsb/protocol.lisp (start): new generic function; start a
previously stopped recording
(stop): new generic function; stop a recording such that it can be
restarted later - src/rsb/channel-connection.lisp
(initialize-instance :after recording-channel-connection): use
`start' method to start recording
(start recording-channel-connection): new method; add the connection
as handler of the participant
(stop recording-channel-connection): new method; remove the
connection from the handlers of the participant - src/rsb/bag-connection.lisp (start bag-connection): new method;
start all channel connections
(stop bag-connection): new method; stop all connections - src/rsb/package.lisp (package rsbag.rsb): added exported symbols
start and stop
fixes #493
- bag-record/main.lisp (invoke-with-control-service): new function;
invoke a thunk with an rpc server running while the thunk executes
(update-synopsis): added control-uri commandline option
(main): wrap main recording loop in `invoke-with-control-service'
when requested - bag-record/package.lisp (package rsbag.tools.record): added used
packages bind and rsb.patterns
refs #493
- common/interactive.lisp (interrupt): new function; interrupt a
`with-interactive-interrupt-exit' form - common/package.lisp (package rsb.common): added exported symbol
interrupt
History
#1 Updated by S. Wrede over 12 years ago
- Assignee set to M. Goetting
#2 Updated by J. Moringen over 12 years ago
- Status changed from New to Feedback
What does this mean?
Should the recording program expose an RSB RPC interface for starting and stopping the recording?
Should UNIX signals be used?
Should annotations be stored in a separate channel of the log file or in a separate file?
What should information should be captured in annotations?
#3 Updated by J. Moringen over 12 years ago
- Status changed from Feedback to Rejected
Start/Stop with one TIDELog file per chunk is already possible
Annotation support is out of scope for rsbag.
#4 Updated by S. Wrede over 12 years ago
- Status changed from Rejected to Feedback
With annotation we ment to insert some metadata describing the current trial / experiment. I understand that this can be easily done with an additional tool that would provide this information in a separate channel. However, I am not sure that a separate tool for this kind of minimal but important functionality makes much sense. What do you think?
And, yes, the original idea was that rsbag should expose a request-reply interface to allow remote control starting / stopping / pausing of recordings. Why should that be out of scope of such a tool?
#5 Updated by J. Moringen over 12 years ago
Sebastian Wrede wrote:
With annotation we ment to insert some metadata describing the current trial / experiment. I understand that this can be easily done with an additional tool that would provide this information in a separate channel. However, I am not sure that a separate tool for this kind of minimal but important functionality makes much sense. What do you think?
It probably depends on the source from which the annotation information is generated and the data to which the annotations refer. If only readily available things like the machine's hostname or current time would be used and refer to the whole file, a separate tool would probably be overkill. However, if the annotation information has to gathered somehow or parsed from some source, or associated to parts of the log file, I would still argue that such a feature is out of scope for a recording tool.
And, yes, the original idea was that rsbag should expose a request-reply interface to allow remote control starting / stopping / pausing of recordings. Why should that be out of scope of such a tool?
"Out of scope" referred to annotations.
An RPC interface wouldn't be a hard to do (I think). Is there a difference between pause+unpause and stop+start?
#6 Updated by J. Moringen over 12 years ago
- Subject changed from Allow Start - Pause - Stop of Recordings with Annotation Support to Allow start/stop of recordings via RPC interface (without program restart)
- Status changed from Feedback to In Progress
- Assignee changed from M. Goetting to J. Moringen
- % Done changed from 0 to 20
#7 Updated by J. Moringen over 12 years ago
- % Done changed from 20 to 70
#8 Updated by J. Moringen over 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 70 to 100
Applied in changeset r150.
#9 Updated by J. Moringen over 12 years ago
- Target version changed from rsb-0.10 to 0.5