[ 
https://issues.apache.org/jira/browse/QPID-7658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849946#comment-15849946
 ] 

Lorenz Quack commented on QPID-7658:
------------------------------------

The proposed LinkRegistry methods make the localContainerId explicit because in 
principal there is no reason all VHs should not be able to share a LinkRegistry.
The proposed LinkRegistry methods operate on Pair<Source, Target> and not just 
a single Terminus because in future (broker federation) the expected remote 
Terminus might be of interest and the API should support that future use case.
Currently, the Source or Target may be null for Receiving- or SendingLinks, 
respectively.

> [Java Broker] Improve LinkRegistry
> ----------------------------------
>
>                 Key: QPID-7658
>                 URL: https://issues.apache.org/jira/browse/QPID-7658
>             Project: Qpid
>          Issue Type: Task
>            Reporter: Lorenz Quack
>             Fix For: qpid-java-7.0
>
>
> Currently the AbstractVirtualHost has a Map<remoteContainerId, LinkRegistry>.
> The handling of the remoteContainerId should also be encapsulated in the 
> LinkRegistry giving each VH only a single LinkRegistry.
> Furthermore the following change to the LinkRegistry is proposed:
> * LinkRegistry.putSendingLinkIfAbsent(String localContainerId, String 
> remoteContrainerId, String linkName, Source source, Target target) -> 
> Pair<Source, Target>
> * LinkRegistry.putReceivingLinkIfAbsent(String localContainerId, String 
> remoteContrainerId, String linkName, Source source, Target target) -> 
> Pair<Source, Target>
> * LinkRegistry.getSendvingLink(String localContainerId, String 
> remoteContrainerId, String linkName) -> Pair<Source, Target>
> * LinkRegistry.getReceivingLink(String localContainerId, String 
> remoteContrainerId, String linkName) -> Pair<Source, Target>
> * LinkRegistry.removeSendingLink(String localContainerId, String 
> remoteContrainerId, String linkName) -> Pair<Source, Target>
> * LinkRegistry.removeReceivingLink(String localContainerId, String 
> remoteContrainerId, String linkName) -> Pair<Source, Target>
> The implementation of which must be thread-safe because the LinkRegistry will 
> be accessed on multiple threads concurrently.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to