Feature #2533
Tools should load data type definitions lazily
Status: | Resolved | Start date: | 04/15/2016 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Common Lisp Tools | |||
Target version: | rsb-0.14 |
Description
I.e. it should be possible to do something like
rsb logger -I ${prefix}/share/rst0.14/proto/stable:${prefix}/share/rst0.14/proto/sandbox --lazy-idl-loading=blocking --style detailedTODO
- Implement IDL-loading converter
- Add commandline options to tools
- Document in manual
Associated revisions
Added find-and-load-idl, ensure-idl-loaded in src/common/idl-loading.lisp
refs #2533
- src/common/idl-loading.lisp (find-and-load-idl): new function; locate
and load a IDL file
(load-idl-on-demand?): new variable; controls whether
`ensure-idl-loaded' calls `find-and-load-idl'
(ensure-idl-loaded): new function; find a descriptor for a given data
type name, potentially loading the definition - src/common/package.lisp (package rsb.tools.common): added exported
symbols find-and-load-idl, ensure-idl-loaded - test/common/idl-loading.lisp: new file; tests for IDL loading
functionality - rsb-tools-common.asd (system rsb-tools-common-test): added file
test/common/idl-loading.lisp - test/data/test/Simple.proto: new file; simple protocol buffer message
definition for IDL loading test
Mention --on-demand-idl-loading in{common-command-line-options,tool-send,tool-call,news}.rst
refs #2533
- common-command-line-options.rst (IDL-related Commandline Options):
added description of on-demand-idl-loading option - tool-send.rst (Description): mention that protocol buffer definition
can be loaded on-demand
(Examples): demonstrate on-demand loading for protocol buffer
arguments - tool-call.rst (Description): mention that protocol buffer definition
can be loaded on-demand
(Examples): demonstrate on-demand loading for protocol buffer
arguments - news.rst (RSB 0.14): mention on-demand IDL loading
Added IDL loading converter in src/common/idl-loading-converter.lisp
refs #2533
- src/common/idl-loading-converter.lisp: new file; contains IDL loading
converter - rsb-tools-common.asd (system rsb-tools-common): added file
src/common/idl-loading-converter.lisp
Maybe use IDL-loading converter in src/commands/*.lisp
refs #2533
- src/commands/bridge/command.lisp (command-execute bridge): call
`maybe-ensure-idl-loading-converter' to obtain converters for bridge
participant - src/commands/logger.lisp (command-execute logger): similar
- src/commands/call.lisp (header): updated copyright
(command-execute call): call `maybe-ensure-idl-loading-converter' to
obtain converters for remote-server participant - src/commands/send.lisp (header): updated copyright
(command-execute send): call `maybe-ensure-idl-loading-converter' to
obtain converters for informer participant
Maybe load IDL in src/common/protocol-buffer-payload.lisp
refs #2533
- src/common/protocol-buffer-payload.lisp
(shared-initialize :after context t): when given a descriptor name,
turn it into a descriptor via `ensure-idl-loaded', thereby potentially
loading the definition - CMakeLists.txt: added tests for the on-demand-idl-loading commandline
option
Added options for IDL loading in src/common/[idl-]options.lisp
fixes #2533
- src/common/options.lisp (make-idl-options): added
on-demand-idl-loading option - src/common/idl-options.lisp (process-idl-options): set
`*load-idl-on-demand?*' if requested - CMakeLists.txt: added test for --on-demand-idl-loading option
History
#1 Updated by J. Moringen almost 7 years ago
- Description updated (diff)
- % Done changed from 0 to 20
#2 Updated by J. Moringen almost 7 years ago
- Status changed from In Progress to Resolved
- % Done changed from 20 to 100
Applied in changeset rsb-tools-cl|4cf16c585bff21e9ac6480667c94fbcd8a42523e.