sony/nmos-cpp

Is it impossible to register resources simultaneously?

naeoc4509 opened this issue ยท 5 comments

I registered 'one receiver' on both sides of two different machines with nmos-cpp installed,
I want to check the registry status on each machine.
But when I tested it,
The receiver is registered only on one of the two machines, and cannot be registered at the same time.
Is it impossible to register resources simultaneously?
If possible, how should I set it up?

Yes, it is possible to register many resources simultaneously.

This sort of problem often happens if there is more than one registry running on your network. It is also worth checking that each node is configured to correctly to discover your registry.

If this isn't the problem then please provide details of the platform you are running on as well as the logs of the nodes and registry.

That's right,
because I'm trying to install and use nmos cpp 'docker',
I want to use a registry for each machine on one network.
Is it 'MUST' to have only one registry in one network?

For example, when there are machines A, B, and C in one network and they are set as follows,
A - node0, device0, receiver0, sender 0
B - nmos docker (with registry), node1, device1, sender 1, receiver1
C - nmos docker (with registry), node2, device2, sender 2, receiver2

In the registry of machine B, (A B C are all registered,) so I can see all the nodes of A, B, C registered with B's ip:8010 port.
Even on machine C, (A B C is all registered) in the registry, so I can see all the nodes of A, B, C registered with C's ip:8010 port,
at the same time?

It is possible to have more than one registry on the network - each registry has a priority which can be configured in the registry config.json.

However, for development purposes it is simpler to have a single registry for your whole network. I suggest disabling all but one registry and see if that resolves matters.

This is a feature of the NMOS spec, a Node is only registered with one Registration API at a time. This is described in IS-04 Registered Operation.

Two (or more) Registry instances MAY share a common backend, so that Nodes using either of their Registration APIs makes those resources visible in the Query API of both instances. But nmos-cpp does not support this out-of-the-box.

Thank you so much! so helpful!