Enhancement #866

Deserialize event payloads?

Added by J. Moringen over 12 years ago. Updated over 12 years ago.

Status:ResolvedStart date:02/08/2012
Priority:NormalDue 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

Revision 4abb8fdc
Added by J. Moringen over 12 years ago

Added transform in src/transform/rsb-event-payload-conversion.lisp
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

Revision fde9c397
Added by J. Moringen over 12 years ago

Made construction of channel transformation configurable
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

Revision 6b2695d5
Added by J. Moringen over 12 years ago

Handle payload conversion in src/transform/rsb-event.lisp
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

Revision 21e25a21
Added by J. Moringen over 12 years ago

Use &from-source instead of :from-source in src/{types,bag}.lisp
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

Revision faff8e39
Added by J. Moringen over 12 years ago

Convert payloads of retrieved events in bag-cat/main.lisp
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.

Also available in: Atom PDF