Motivation:
on the client side the client registry adds
functionality of easy checking how many nodes we have and to which nodes they are added
adds possibility of making in the future some complex features for managing the type of connection or load balancing (although no plans yet for it)
adds constraint that no other object with the objectId can be in same registry for different nodes, the latter sink is not added and is not informed about it
adds complexity, current class needs to keep in synch - for setting up, it has to do 2 step registration (separately adding node and sink object ) and for lifetime of the objects*, where just a map in clientNode would be enough, sink would link straight to clientNode
*we keep it as raw pointers in registry, we could be safer changing to weak_ptrs but that requires change for creating objects, they need to be created only with factory method as shared ptrs, where for clientNode I think it is ok, for objectSink, which is remoteInterface that feels wrong.
Motivation: on the client side the client registry adds
*we keep it as raw pointers in registry, we could be safer changing to weak_ptrs but that requires change for creating objects, they need to be created only with factory method as shared ptrs, where for clientNode I think it is ok, for objectSink, which is remoteInterface that feels wrong.