Which timestamps should be set based on recorded information?
|Status:||In Progress||Start date:||08/26/2011|
|Assignee:||J. Moringen||% Done:|
|Target version:||Robotics Service Bus - rsb-0.18|
Out of create, send, receive and deliver, which timestamps should be recorded and later restored when replaying events?
One use-case reported by Johannes:
If one channel in a tide file is assumed to be the absolute reference for all other activities, all timestamps should be relative to the first event of that special stream. The first event there should have timestamp 0.
- src/rsb/replay/timestamp-adjustment-mixin.lisp: new file;
contains mixin class `timestamp-adjustment-mixin'
- src/rsb/replay/recorded-timing.lisp (recorded-timing): added
- src/rsb/replay/fixed-rate.lisp (fixed-rate): likewise
- src/rsb/replay/as-fast-as-possible.lisp (as-fast-as-possible):
- src/rsb/replay/package.lisp (header): updated copyright
(package rsbag.rsb.replay): added exported symbols
timestamp-adjustment-mixin and strategy-adjustments
- cl-rsbag.asd (system cl-rsbag): added file
src/rsb/replay/timestamp-adjustment-mixin.lisp; added dependency of
- src/rsb/replay/types.lisp (header): added one-line summary
(timestamp-adjustment-value/now): new type; replace with current time
(timestamp-adjustment-value/copy): new type; replace with copy of
some other timestamp
(timestamp-adjustment-value/delta): new type; replace with some
(timestamp-adjustment-value): new type; timestamp replacement
(timestamp-adjustment-spec): new type; timestamp replacement
(timestamp-adjustment-mixin::adjustments): removed initarg
(shared-initialize :after timestamp-adjustment-mixin t): set
adjustments via writer
(setf strategy-adjustments :before t timestamp-adjustment-mixin):
new method; check type of new value
(process-event :before replay-bag-connection timestamp-adjustment-mixin t):
support now, copy, delta and literal timestamp specifications
(print-object timestamp-adjustment-mixin t): new method; print object
- test/rsb/timestamp-adjustment-mixin.lisp: new file; contains
test for `timestamp-adjustment-mixin' class
- test/rsb/package.lisp (header): updated copyright
(package rsbag.rsb.test): added used package rsbag.rsb.replay
- cl-rsbag.asd (system cl-rsbag-test): added file
- cl-rsbag.asd (system cl-rsbag): added missing dependency of
- src/rsb/replay/types.lisp (timestamp-adjustment-value/delta): allow
(process-event replay-bag-connection timestamp-adjustment-mixin t t event t):
actually process :delta adjustment
#2 Updated by J. Moringen almost 9 years ago
- Status changed from Feedback to In Progress
- Assignee set to J. Moringen
- % Done changed from 0 to 30
The associated change allows overwriting specified timestamps in simple ways. E.g. "replace original
create timestamp with the current time".
The general issue still needs feedback. What do you think?