qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim" <g...@redhat.com>
Subject Re: Review Request: Allow broker to initiate AMQP 1.0 connections (and links) to other entities
Date Mon, 11 Mar 2013 10:18:11 GMT


> On Feb. 18, 2013, 4:31 p.m., Alan Conway wrote:
> > How do you flow-control the interconnects without using store-and-forward? Is there
a new flow control mechanism for 1.0?

For the relayed links, the credit issued by the downstream is passed back up to the upstream.
(I need to go through the cases where credit is cancelled to make sure that is working correctly).


- Gordon


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9469/#review16711
-----------------------------------------------------------


On Feb. 15, 2013, 6:13 p.m., Gordon Sim wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9469/
> -----------------------------------------------------------
> 
> (Updated Feb. 15, 2013, 6:13 p.m.)
> 
> 
> Review request for qpid.
> 
> 
> Description
> -------
> 
> I.e. provide equivalent functionality as offered over AMQP 0-10 through the so called
federation capabilities.
> 
> This patch, which is still a work in progress, does not simply reproduce the 0-10 capabilities
over 1.0. It does not use the existing Bridge and Link objects. For one thing, the naming
of those objects is confusing - wrong in fact - from a 1.0 perspective. The code is also quite
tied into 0-10. Finally, I think there are aspects of the existing code that with the benefit
of experience aren't ideal. My view was that leaving that code unaltered and adding equivalent
functionality anew for 1.0 was the cleanest approach.
> 
> The current patch offers the following:
> 
> * Through management you can define 'domains'. These are essentially descriptions of
some external entity to which a 1.0 connection can be made.
> 
> * Through management you can set up incoming or outgoing links to or from a domain. The
source and target for the link can be specified. This allows you for example to pull messages
off a queue on some other broker and have them routed through an exchange on the 'local broker.
> 
> * You can also establish 'relayed' links. If you open a link (either incoming or outgoing)
to <name>@<domain>, an there is no queue or exchange matching that full address
defined, then the broker will determine if the domain is one it knows about and if so it will
establish a corresponding link to that domain. So for example if you send to my-queue@another-broker,
then a link will be setup to my-queue on another-broker and all the messages you send over
the original link will be relayed over that (by relayed I mean that this is not a store-and-forward
approach where the broker we are connected to accepts the message and forwards it, but a simple
proxying approach). You can also open a receiving link to my-queue@another-broker and pull
messages off that remote queue via the broker you are connected to.
> 
> 
> This addresses bug QPID-4586.
>     https://issues.apache.org/jira/browse/QPID-4586
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/CMakeLists.txt 1446560 
>   /trunk/qpid/cpp/src/Makefile.am 1446560 
>   /trunk/qpid/cpp/src/amqp.cmake 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/LossyQueue.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/ObjectFactory.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/ObjectFactory.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/SecureConnectionFactory.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/SecureConnectionFactory.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Connection.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Domain.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedIncomingLink.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedIncomingLink.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Relay.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Relay.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Session.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Translation.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Translation.cpp 1446560 
>   /trunk/qpid/specs/management-schema.xml 1446560 
> 
> Diff: https://reviews.apache.org/r/9469/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gordon Sim
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message