Enhancement #866
Deserialize event payloads?
Status: | Resolved | Start date: | 02/08/2012 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | - | |||
Target version: | Robotics Service Bus - 0.6 |
Description
For bag-cat
and maybe bag-merge
it would be useful if the rsbag.transform
machinery deserialized event payloads instead of passing through blobs.
In particular this would allow scripts for programmable/template
and programmable/script
to work in both, the logger
and bag-cat
.
Associated revisions
Added transform in src/transform/rsb-event-payload-conversion.lisp
refs #866
refs #866
- src/transform/rsb-event-payload-conversion.lisp: new file;
contains a transformation for (de)serialization of RSB events
including payloads - cl-rsbag.asd (header): updated copyright
(system cl-rsbag): added file
src/transform/rsb-event-payload-conversion.lisp
Made construction of channel transformation configurable
refs #866
refs #866
- src/types.lisp (transform-spec/default): new type; default transform
spec
(transform-spec/augment): new type; augmenting transform spec
(transform-spec/full): new type; full transform spec
(transform-spec): new type; all transform specs - src/protocol.lisp (open-bag): added transform keyword parameter;
extended documentation string accordingly
(open-bag stream): check type of transform argument; pass value to
bag constructor
(bag-transform): new generic function; return transform
specification associated to the bag
(%make-channel): made id a keyword parameter
(%make-channel-transform): likewise; added spec keyword parameter;
extended documentation string accordingly - src/bag.lisp (bag::transform): new slot; stores transform
specification for constructing individual channel transforms
(shared-initialize :after bag t): pass transform specification to
`%make-channel-transform'
(setf bag-channel list bag string): likewise
(%make-channel bag string list t): made id a keyword parameter
(%make-channel-transform bag string list): likewise; added spec
keyword parameter; interpret spec keyword parameter to adapt
construction of channel transform - src/synchronized-bag.lisp
(%make-channel synchronized-bag string list t): made id a keyword
parameter - src/package.lisp (header): updated copyright
(package rsbag): added exported symbols transform-spec/default,
transform-spec/augment, transform-spec/full, transform-spec and
bag-transform
Handle payload conversion in src/transform/rsb-event.lisp
refs #866
refs #866
- src/transform/rsb-event.lisp (make-transform eql rsb-schema-name):
accept converter keyword parameter; select
`rsb-event/payload-conversion' or `rsb-event' accordingly
Use &from-source instead of :from-source in src/{types,bag}.lisp
refs #866
refs #866
- src/types.lisp (transform-spec/augment): replaced :from-source ->
&from-source
(transform-full): leading symbol must not be &from-source - src/bag.lisp (bag::transform): changed initform :from-source ->
&from-source - src/package.lisp (package rsbag): added exported symbol &from-source
Convert payloads of retrieved events in bag-cat/main.lisp
fixes #866
fixes #866
- bag-cat/main.lisp (main): request payloads of retrieved events to be
converted using default converters
History
#1 Updated by J. Moringen over 12 years ago
- Tracker changed from Bug to Enhancement
#2 Updated by J. Moringen over 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 50 to 100
Applied in changeset r302.