> Indeed, updating MIDAS clients on each and every RPI etc in a running experiment may be a real challenge.
actually, only local clients must be rebuilt, remote clients connecting to the mserver do not care about ODB
internal structure.
> Thinking forward - would it help if the ODB clients, upon initial connection but before doing anything else
> were reading the ODB parameters from the ODB itself, so the clients were "learning" about the ODB structure
> dynamically, at run time? Or that knowledge has to be static ?
unfortunately, the "open records" structure is allocated at compile-time inside the ODB header,
making any change to this would break binary compatibility.
I think it is possible to allocate "space for additional open records" in the ODB data area
and have the ODB open records code use it in addition to the compile-time allocated
space in the database header. This would also work for extending MAX_CLIENTS.
Of course in this approach, old midas clients would see only the clients and open records
in the database header, new midas clients would see the additional data.
It is not super hard to add this code...
K.O. |