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

ASF subversion and git services commented on QPID-7658:
-------------------------------------------------------

Commit 1786358 from [~lorenz.quack] in branch 'java/trunk'
[ https://svn.apache.org/r1786358 ]

QPID-7658: [Java Broker] Improve LinkRegistry. Propagate errors during attach 
back to remote endpoint.

> [Java Broker] Improve LinkRegistry
> ----------------------------------
>
>                 Key: QPID-7658
>                 URL: https://issues.apache.org/jira/browse/QPID-7658
>             Project: Qpid
>          Issue Type: Task
>          Components: Java Broker
>            Reporter: Lorenz Quack
>             Fix For: qpid-java-broker-7.0.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.
> The LinkRegistry is responsible for ensuring Link uniqueness and persistence 
> (separate JIRA).
> Furthermore, the following change to the LinkRegistry is proposed:
> * LinkRegistry.getSendvingLink(String remoteContrainerId, String linkName) -> 
> Link
> * LinkRegistry.getReceivingLink(String remoteContrainerId, String linkName) 
> -> Link
> These should always return a non-null Link. The caller (session) is 
> responsible for checking that the link has valid Source and Targets.
> They also need to be thread-safe (e.g., two calls with the same arguments 
> should return the same object).
> The LinkRegistry should also provide facilities to the Link to remove itself 
> from the Registry (for example on Link close, or error) and to update the 
> Termini upon resuming a Link.
> If possible this should not be part of the public API. possible API:
> * LinkRegistry.removeSendingLink(String localContainerId, String 
> remoteContrainerId, String linkName)
> * LinkRegistry.removeReceivingLink(String localContainerId, String 
> remoteContrainerId, String linkName)
> * LinkRegistry.updateLinkTermini(Link link, Source source, Target 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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to