orocos-toolchain / ocl

Orocos Component Library
Other
16 stars 33 forks source link

Support connecting dynamically created ports #72

Closed meyerj closed 6 years ago

meyerj commented 7 years ago

This PR is picking some commits from @snrkiwi's fork.

The deployer ignores unknown ports in a first pass to create connections and tries again after the configure step, where errors would result in a failure. This allows to create and connect dynamically from the `configureHook().

This is the most important commit message from https://github.com/meyerj/ocl/commit/576c34e40a9fc4dc84a71b08176df595bb0b3877:

deployment: Support multiple passes of connecting data ports The first pass must be tolerant of connections that only have one port currently - future ports may complete this connection.

So during the first pass, when loading components only ports that are compiled in to a component (ie created in the component's constructor), it is acceptable to have a connection with only one port and such a connection is ignored for now.

During the second pass, after configuring components (and thus any ports created during configureHook(), say in response to properties) at this point all ports should have been created and a connection with only one port shall have a stream created for it.