In some WebRTC interoperability tests we are facing a timeout when messages to be delivered to a foreigner domain triggers the deployment of a protostub that is already being deployed but not completed yet (in progress).
Proposed solution:
- add "in progress" and "active" states to protostubs in the runtime registry
- At deploy Protostub:
- step 2 - registry.discoverStub() - returns a promise. In case
state=="in progress" the promise is only resolved when state changes to "changes" by using Proxy.
- Step 3: In case it does not exist yet, the
registry.registerStub(..) is invoked (ie step 8 is anticipated to step 3) and a new stub entry is created with status = "in progress".
- When deployment has successfully finished the
registry.setRegistryStubStatus("active") (new function) is invoked ie after current step 19.
The Hyperty deployment would also be extended with a similar approach. Mains difference:
- discoverHyperty() would return error in case there is already an Hyperty registered in the registry
- registerHyperty() would not perform the registration in the domain registry but only
registry.setRegistryHypertyStatus("connected") at the end
In some WebRTC interoperability tests we are facing a timeout when messages to be delivered to a foreigner domain triggers the deployment of a protostub that is already being deployed but not completed yet (in progress).
Proposed solution:
state=="in progress"the promise is only resolved whenstatechanges to"changes"by using Proxy.registry.registerStub(..)is invoked (ie step 8 is anticipated to step 3) and a new stub entry is created withstatus = "in progress".registry.setRegistryStubStatus("active")(new function) is invoked ie after current step 19.The Hyperty deployment would also be extended with a similar approach. Mains difference:
registry.setRegistryHypertyStatus("connected")at the end