Description
There is a case where a service is injected in a context and registers context identifier through NetworkConnectionService, simultaneously another service registers task identifier through NCS. In that case, multiple IDs are registered in NameServer through NetworkConnectionService without any unregistering and NetworkConnectionService maintains the last registered ID. All network messages from the NCS have sourceId as the last registered ID, it might be a wrong behavior. We need to change NCS to gracefully register/unregister multiple identifiers.
1. Deprecate registerId/unregisterId method of NCS and [Unbind|Bind]NetworkConnectionServiceFromTask
2. Make each NetworkConnectionFactory has own end point identifier (It is different from connectionFactoryId that is used to distinguish the type of connection)
3. The end point id for a NetworkConnectionFactory is registered when the NCF is registered to NetworkConnectionService.
4. The registered end point id is unregistered when the NetworkConnectionFactory is removed from NCS.
5. All registered end point ids are unregistered when NCS is closed.
Attachments
Issue Links
- links to