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
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 whenstate
changes 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