Qt Remote Objects Registry#
Describes how the Qt Remote Objects registry establishes connections between nodes. .. _registry: When you acquire()
a replica, the node URL is not passed as an argument. This means you do not need to specify the host node, but it does require you to have some other means of connecting to that host. Without the registry, it is necessary to manually call connectToNode()
, from each node, to every host node that has Source objects it should replicate. This is fine for small or static networks, but does not scale.
The registry provides a simpler way to establish these connections. Every node that wants to be part of the registry’s network connects to the registry. The registry is itself a specialized source object, and thus is hosted by a node. Connecting to the registry is simply a matter of passing the registry’s URL to the QRemoteObjectNode
or QRemoteObjectHost
constructor, or passing the URL to the setRegistryUrl method.
The registry is tightly integrated with QtRO. Whenever a Source is added or removed, the name/URL is updated in the registry automatically. So once your node is connected to the registry, it is not necessary to connect to any other nodes manually. If you request an object on the network and you aren’t connected to the hosting node, the registry will know what URL to connect to and will initiate the connection. Once connected (and the list of available objects is passed along, including the desired Source ), the initialization process for the requested Replica will start automatically.