Enhancement #321
Introspectable Configuration Options
Status: | Resolved | Start date: | 05/12/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Common Lisp | Estimated time: | 2.00 hours | |
Target version: | 0.3 |
Description
Options should be stored in connector classes.
It should be possible to query the supported configuration options of connectors:- This should work without instantiating the connectors, if possible
- The obtained information should be sufficiently detailed to generate
- Configuration file schemas
- Commandline option descriptions (when these get implemented)
- Help texts
Associated revisions
Added direction, schemas slots metaclass connector-class
refs #321
refs #321
- src/transport/protocol.lisp (connector-direction): extended
documentation string
(connector-schemas): new generic function; return a list of schemas
supported by a connector class
(connector-direction standard-object): new method; forward request
to class of the connector
(connector-schemas class): new method; default behavior is returning
empty list of schemas - src/transport/connector.lisp (connector-class):
updated documentation string
(connector-class::direction): new slot; stores direction of
instances of the connector class
(connector-class::schemas): new slot; stores schemas of the
connector class
(initialize-instance :after connector-class): new method; convert
value of direction class option to suitable form
(connector-schemas connector-class): new method; collect supported
schemas from class and transitive superclasses
(connector::direction): removed slot; moved to metaclass - src/transport/package.lisp (package rsb.transport): added exported
symbol connector-schemas - src/transport/spread/connector.lisp (connector): added schemas class
option - src/transport/spread/out-connector.lisp (out-connector): changed
direction slot to class option - src/transport/spread/in-push-connector.lisp (in-push-connector):
likewise - src/transport/spread/in-pull-connector.lisp (in-pull-connector):
likewise - src/transport/inprocess/connector.lisp (connector): changed
metaclass to connector-class; added schemas class option - src/transport/inprocess/out-connector.lisp (out-connector): likewise
- src/transport/inprocess/in-push-connector.lisp (in-push-connector):
likewise - src/transport/inprocess/in-pull-connector.lisp (in-pull-connector):
likewise
Adapted option descriptions to new syntax
refs #321
refs #321
- src/transport/spread/out-connector.lisp (out-connector): changed
value of options class option to conform to new syntax - src/transport/spread/connector.lisp (connector): likewise; added
default value in description of port option - src/transport/spread/assembly-mixin.lisp (assembly-mixin): similar
for max-fragment-size option
Removed parse-typed-value in src/configuration.lisp
refs #321
refs #321
- src/configuration.lisp (options-from-environment): removed use of
`parse-typed-value'
(options-from-stream): likewise
(parse-typed-value): removed; types of configuration options should
be declared and determined via introspection - src/participant.lisp (uri-options): removed use of
`parse-typed-value'
Improved options descriptions in src/transport/spread/connector.lisp
fixes #321
fixes #321
- src/transport/spread/connector.lisp (connector): adjusted
description of configuration options; added tcpnodelay options so
configuration files including it will not be rejected
History
#1 Updated by J. Moringen almost 13 years ago
- Status changed from In Progress to Resolved
- % Done changed from 70 to 100
Applied in changeset r1298.