Tasks #520
Serialize RSB events including meta-data
Status: | Resolved | Start date: | 08/23/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | - | |||
Target version: | Robotics Service Bus - 0.5 |
Related issues
Associated revisions
Integrated channel transform mechanism
refs #520
refs #520
- src/protocol.lisp (%make-channel): added parameter transform;
updated documentation string
(%make-channel-transform): new generic function; create an
associated transform for a channel - src/channel.lisp (channel::transform): new slot; stores the
transform of a channel
(entry channel integer): added keyword parameter transform; apply
transform if non-nil
(setf entry t channel local-time:timestamp): likewise - src/bag.lisp (shared-initialize :after bag t): make a channel
transform when making a channel
(setf bag-channel list bag string): added keyword parameter
transform; pass transform to `%make-channel'
(%make-channel bag string t list): added transform parameter; pass
transform to created channel
(%make-channel-transform): new method; create a channel transform
based on the type property of the channel meta-data - src/synchronized-bag.lisp
(%make-channel synchronized-bag string list t): added transform
parameter - src/package.lisp (package rsbag): added used package rsbag.transform
- src/backend/tidelog/file.lisp
(put-channel file integer string list): apply `encode-type' to
channel type prior to serialization
(make-channel): apply `decode-type' to channel type
(encode-type): convert channel type to a serializable form
(decode-type): decode channel type from serializable form - src/backend/tidelog/package.lisp (package rsbag.backend.tidelog):
added used package split-sequence - cl-rsbag.asd (system cl-rsbag): added system dependency on
split-sequence
Added RSB event (de)serialization in src/transform/rsb-event.lisp
refs #520
refs #520
- src/transform/rsb-event.lisp: new file; contains a transform
that (de)serializes RSB events - src/transform/package.lisp (package rsbag.transform): added used
package iterate - cl-rsbag.asd (system cl-rsbag): added defsystem dependency on
cl-protobuf; added rsb-serialization module with data directory and
file src/transform/rsb-event.lisp; added dependency of module rsb on
module rsb-serialization
Added participant-converter in src/protocol.lisp
refs #520
refs #520
- src/protocol.lisp (participant-converter): new generic function;
return the converter used by a participant for a given wire-type
(participant-converter :around t t): new method; signal an error if
the next method does not produce a result - src/participant.lisp (participant-converter t t): new method; try to
obtain a requested converter from the connectors of a participant - src/package.lisp (package rsb): added exported symbol
participant-converter
Fixed %make-channel-transform in src/bag.lisp
refs #520
refs #520
- src/bag.lisp (%make-channel-transform bag string list): use
`make-transform' correctly
Added channel transform construction in src/rsb/construction.lisp
refs #520
refs #520
- src/rsb/construction.lisp (events->bag listener bag): added keyword
parameter wire-schema; use wire-schema parameter to construct a
channel transform
(define-make-listener-method): removed
(events->bag uri bag): extract and process wire-schema URI option
(events->bag string bag): delegate to URI-specialized method - src/rsb/package.lisp (package rsbag.rsb): added used package
rsbag.transform
Fixed channel transform construction
refs #520
refs #520
- src/bag.lisp (%make-channel-transform bag string list): removed
special case for RSB-specific transform - src/transform/protocol.lisp (make-transform): &rest args do not have
to be keyword arguments anymore
(make-transform symbol): likewise - src/transform/rsb-event.lisp (toplevel): removed leftover optimize
declamation
(make-transform eql :rsb-event): new method; handle arguments and
delegate to `find-transform-class' - src/rsb/construction.lisp (events->bag listener bag): convert
wire-schema argument to keyword
Added channel meta-data in src/{util,channel}.lisp
fixes #520
fixes #520
- src/util.lisp: new file; contains utilities used in the cl-rsbag
system - src/channel.lisp (channel): added superclass plist-meta-data-mixin
(channel::meta-data): added reader channel-meta-data - src/bag.lisp (%make-channel bag string t list): pass meta-data to
constructed channel instance - src/package.lisp (package rsbag): added exported symbol
meta-data-count, meta-data-keys, meta-data-values, meta-data-plist,
meta-data-alist and channel-meta-data - src/rsb/package.lisp (package rsbag.rsb): added shadowing imports
rsbag symbols meta-data-count, meta-data-keys, meta-data-values,
meta-data-plist and meta-data-alist - cl-rsbag.asd (system cl-rsbag): added file src/util.lisp
History
#1 Updated by J. Moringen over 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 60 to 100
Applied in changeset r56.
#2 Updated by J. Moringen over 12 years ago
- Target version changed from rsb-0.10 to 0.5