Is your feature request related to a problem?
#108 will require extensions to be aware of what other extensions are initialized.
#102 (resolving #52 and #93) changed the initialization to only send one extension rather than the whole list. This is good because that list didn't have any status of the other extensions.
We need to be able to have an extension query OpenSearch to either obtain a list of initialized extensions or determine whether a particular extension is initialized.
What solution would you like?
This should be a simple Request/Response transport call fetching the values in the List<DiscoveryExtension> extensionsInitializedList; and returning it.
Alternately (see #151) accept a list of uniqueIds and return a shortened list containing just those extensions.
Bonus points: do both.
What alternatives have you considered?
The ExtensionsOrchestrator could broadcast the list to all extensions after initialization is complete. The transport would essentially be the same with request/response reversed. However, in the case of dependent extensions, an extension may not fully respond to the initialization request until after its dependency has been initialized.
Do you have any additional context?
Eventually this feature can be embedded as part of initialization, with a polling feature to enforce initialization order of dependencies. And hope there's no circular dependency loop!
Is your feature request related to a problem?
#108 will require extensions to be aware of what other extensions are initialized.
#102 (resolving #52 and #93) changed the initialization to only send one extension rather than the whole list. This is good because that list didn't have any status of the other extensions.
We need to be able to have an extension query OpenSearch to either obtain a list of initialized extensions or determine whether a particular extension is initialized.
What solution would you like?
This should be a simple Request/Response transport call fetching the values in the
List<DiscoveryExtension> extensionsInitializedList;and returning it.Alternately (see #151) accept a list of uniqueIds and return a shortened list containing just those extensions.
Bonus points: do both.
What alternatives have you considered?
The ExtensionsOrchestrator could broadcast the list to all extensions after initialization is complete. The transport would essentially be the same with request/response reversed. However, in the case of dependent extensions, an extension may not fully respond to the initialization request until after its dependency has been initialized.
Do you have any additional context?
Eventually this feature can be embedded as part of initialization, with a polling feature to enforce initialization order of dependencies. And hope there's no circular dependency loop!