robotology / yarp

YARP - Yet Another Robot Platform
http://www.yarp.it
Other
524 stars 195 forks source link

One-sided persistent connections would be useful #32

Open paulfitz opened 11 years ago

paulfitz commented 11 years ago

It would be good to allow connections to be specified to be persistent on one side only, to simplify program logic in situations such as #31.

paulfitz commented 11 years ago

As of a66093c there is basic support for this. Code like this:

port.open("/view");
ContactStyle style;
style.persistent = true;
style.persistenceType = ContactStyle::END_WITH_TO_PORT;
yarp.connect("/src","/view",style);

would result in /src being connected to /view anytime it shows up, until /view is closed.

This feature requires name server support, so make sure to run client against a fresh version of the yarp name server.

Issue not fully resolved - pending: deal with case were a port is killed without being deregistered from the name server (so there is no trigger for removing the persistent connection).

drdanz commented 10 years ago

I didn't look at that yet, but I've been told that now we have a "node" concept... Perhaps now we could have persistent port that die when the node disappears?