Skip to content

Commit 3fb5c96

Browse files
committed
[occ] Document runtime configuration
1 parent da37630 commit 3fb5c96

1 file changed

Lines changed: 38 additions & 2 deletions

File tree

occ/occlib/RuntimeControlledObject.h

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,51 @@ class OCC_EXPORT RuntimeControlledObject {
7676
/**
7777
* Transition from standby to configured.
7878
*
79-
* @param properties a string-string map of key-values pushed by the control agent, containing
80-
* deployment-specific configuration (i.e. outbound channel configuration and similar).
79+
* @param properties a boost::property_tree pushed by the control agent, containing
80+
* deployment-specific configuration (i.e. channel configuration and related).
8181
* @return 0 if the transition completed successfully, any non-zero value immediately triggers
8282
* a transition to the error state.
8383
*
8484
* The implementer should use this transition to move the machine from an unconfigured, bare
8585
* state into a state where the dataflow may be initiated at any time.
8686
* It is ok for this step to take some time if necessary.
8787
*
88+
* Example properties tree with one inbound and one outbound channel:
89+
* {
90+
* "chans": {
91+
*
92+
* "myOutboundCh": {
93+
* "0": {
94+
* "address": "tcp://target.hostname.cern.ch:5555",
95+
* "method": "connect", // can be connect, bind
96+
* "type": "pull", // can be push, pull, pub, sub
97+
* "transport": "default",
98+
* "rateLogging": "0",
99+
* "sndBufSize": "1000",
100+
* "sndKernelSize": "0",
101+
* "rcvBufSize": "1000",
102+
* "rcvKernelSize": "0"
103+
* },
104+
* "numSockets": "1"
105+
* },
106+
* "myInboundCh": {
107+
* "0": {
108+
* "address": "tcp://*:5555",
109+
* "method": "bind",
110+
* "type": "push",
111+
* "transport": "default",
112+
* "rateLogging": "0",
113+
* "sndBufSize": "1000",
114+
* "sndKernelSize": "0",
115+
* "rcvBufSize": "1000",
116+
* "rcvKernelSize": "0"
117+
* },
118+
* "numSockets": "1"
119+
* }
120+
* },
121+
* "additional non-channel properties": "go here"
122+
* }
123+
*
88124
* @note Only one of the transition functions will be called at any given time, and during a
89125
* transition all checks (iterateRunning/iterateCheck) are blocked until the transition
90126
* finishes and returns success or error.

0 commit comments

Comments
 (0)