Skip to content

Commit 572f9f7

Browse files
author
Emile Joubert
committed
Merged bug23467 into default
2 parents 71ea2d5 + 9740cdf commit 572f9f7

File tree

21 files changed

+475
-35
lines changed

21 files changed

+475
-35
lines changed

docs/RabbitMQ Service Model.doc

4.5 KB
Binary file not shown.

docs/RabbitMQ Service Model.docx

71 Bytes
Binary file not shown.

docs/RabbitMQ Service Model.pdf

38.5 KB
Binary file not shown.

docs/specs/amqp0-8.stripped.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
448448
</method>
449449
<method name="ack" index="80">
450450
<chassis name="server" implement="MUST"/>
451+
<chassis name="client" implement="MUST"/>
451452
<field name="delivery tag" domain="delivery tag"/>
452453
<field name="multiple" type="bit"/>
453454
</method>
@@ -683,6 +684,19 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
683684
<chassis name="client" implement="MUST"/>
684685
</method>
685686
</class>
687+
<class name="confirm" handler="channel" index="85">
688+
<method name="select" synchronous="1" index="10">
689+
<chassis name="server" implement="MUST"/>
690+
<response name="select-ok"/>
691+
<field name = "multiple" type = "bit">
692+
</field>
693+
<field name = "nowait" type = "bit">
694+
</field>
695+
</method>
696+
<method name="select-ok" synchronous="1" index="11">
697+
<chassis name="client" implement="MUST"/>
698+
</method>
699+
</class>
686700
<class name="tunnel" handler="tunnel" index="110">
687701
<chassis name="server" implement="MAY"/>
688702
<chassis name="client" implement="MAY"/>

docs/specs/amqp0-8.xml

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0"?>
22
<!-- WARNING: Modified from the official 0-8 specification XML by
3-
the addition of queue.unbind, queue.unbind-ok -->
3+
the addition of queue.unbind, queue.unbind-ok,
4+
confirm.select and confirm.select-ok -->
45
<!--
56
Copyright Notice
67
================
@@ -2405,6 +2406,8 @@ localised reply text
24052406
message.
24062407
</doc>
24072408
<chassis name = "server" implement = "MUST" />
2409+
<chassis name="client" implement="MUST"/>
2410+
24082411
<field name = "delivery tag" domain = "delivery tag" />
24092412

24102413
<field name = "multiple" type = "bit">
@@ -3681,6 +3684,43 @@ confirm transaction mode
36813684
<chassis name="client" implement="MUST"/>
36823685
</method>
36833686
</class>
3687+
<class name="confirm" handler="channel" index="85">
3688+
<method name="select" synchronous="1" index="10">
3689+
select confirm mode (i.e. enable publisher acknowledgements)
3690+
<doc>
3691+
This method sets the channel to use publisher acknowledgements.
3692+
The client can only use this method on a non-transactional
3693+
channel.
3694+
</doc>
3695+
<chassis name="server" implement="MUST"/>
3696+
<response name="select-ok"/>
3697+
<field name = "multiple" type = "bit">
3698+
acknowledge multiple messages
3699+
<doc>
3700+
If set to 1, the delivery tag in the returned acks is
3701+
treated as "up to and including", so that the server can
3702+
acknowledge multiple messages with a single method. If set
3703+
to zero, the delivery tag refers to a single message.
3704+
</doc>
3705+
</field>
3706+
<field name = "nowait" type = "bit">
3707+
do not send a reply method
3708+
<doc>
3709+
If set, the server will not respond to the method. The client should
3710+
not wait for a reply method. If the server could not complete the
3711+
method it will raise a channel or connection exception.
3712+
</doc>
3713+
</field>
3714+
</method>
3715+
<method name="select-ok" synchronous="1" index="11">
3716+
acknowledge confirm mode
3717+
<doc>
3718+
This method confirms to the client that the channel was successfully
3719+
set to use publisher acknowledgements.
3720+
</doc>
3721+
<chassis name="client" implement="MUST"/>
3722+
</method>
3723+
</class>
36843724
<class name="tunnel" handler="tunnel" index="110">
36853725
<!--
36863726
======================================================

docs/specs/amqp0-9-1.stripped.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
437437
</method>
438438
<method name="ack" index="80">
439439
<chassis name="server" implement="MUST"/>
440+
<chassis name="client" implement="MUST"/>
440441
<field name="delivery-tag" domain="delivery-tag"/>
441442
<field name="multiple" domain="bit"/>
442443
</method>
@@ -483,4 +484,17 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
483484
<chassis name="client" implement="MUST"/>
484485
</method>
485486
</class>
487+
<class name="confirm" handler="channel" index="85">
488+
<method name="select" synchronous="1" index="10">
489+
<chassis name="server" implement="MUST"/>
490+
<response name="select-ok"/>
491+
<field name = "multiple" type = "bit">
492+
</field>
493+
<field name = "nowait" type = "bit">
494+
</field>
495+
</method>
496+
<method name="select-ok" synchronous="1" index="11">
497+
<chassis name="client" implement="MUST"/>
498+
</method>
499+
</class>
486500
</amqp>

docs/specs/amqp0-9-1.xml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
<?xml version = "1.0"?>
2+
3+
<!--
4+
WARNING: Modified from the official 0-9 specification XML by
5+
the addition of confirm.select and confirm.select-ok.
6+
-->
7+
28
<!--
39
Copyright Notice
410
================
@@ -2570,6 +2576,7 @@
25702576
</doc>
25712577

25722578
<chassis name = "server" implement = "MUST" />
2579+
<chassis name="client" implement="MUST"/>
25732580

25742581
<field name = "delivery-tag" domain = "delivery-tag" />
25752582
<field name = "multiple" domain = "bit" label = "acknowledge multiple messages">
@@ -2840,4 +2847,44 @@
28402847
</method>
28412848
</class>
28422849

2850+
<!-- == CONFIRM ========================================================== -->
2851+
2852+
<class name="confirm" handler="channel" index="85">
2853+
<method name="select" synchronous="1" index="10">
2854+
select confirm mode (i.e. enable publisher acknowledgements)
2855+
<doc>
2856+
This method sets the channel to use publisher acknowledgements.
2857+
The client can only use this method on a non-transactional
2858+
channel.
2859+
</doc>
2860+
<chassis name="server" implement="MUST"/>
2861+
<response name="select-ok"/>
2862+
<field name = "multiple" type = "bit">
2863+
acknowledge multiple messages
2864+
<doc>
2865+
If set to 1, the delivery tag in the returned acks is
2866+
treated as "up to and including", so that the server can
2867+
acknowledge multiple messages with a single method. If set
2868+
to zero, the delivery tag refers to a single message.
2869+
</doc>
2870+
</field>
2871+
<field name = "nowait" type = "bit">
2872+
do not send a reply method
2873+
<doc>
2874+
If set, the server will not respond to the method. The client should
2875+
not wait for a reply method. If the server could not complete the
2876+
method it will raise a channel or connection exception.
2877+
</doc>
2878+
</field>
2879+
</method>
2880+
<method name="select-ok" synchronous="1" index="11">
2881+
acknowledge confirm mode
2882+
<doc>
2883+
This method confirms to the client that the channel was successfully
2884+
set to use publisher acknowledgements.
2885+
</doc>
2886+
<chassis name="client" implement="MUST"/>
2887+
</method>
2888+
</class>
2889+
28432890
</amqp>

docs/specs/amqp0-9.stripped.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
478478
</method>
479479
<method name="ack" index="80">
480480
<chassis name="server" implement="MUST"/>
481+
<chassis name="client" implement="MUST"/>
481482
<field name="delivery-tag" domain="delivery-tag"/>
482483
<field name="multiple" domain="bit"/>
483484
</method>
@@ -715,6 +716,19 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
715716
<chassis name="client" implement="MUST"/>
716717
</method>
717718
</class>
719+
<class name="confirm" handler="channel" index="85">
720+
<method name="select" synchronous="1" index="10">
721+
<chassis name="server" implement="MUST"/>
722+
<response name="select-ok"/>
723+
<field name = "multiple" type = "bit">
724+
</field>
725+
<field name = "nowait" type = "bit">
726+
</field>
727+
</method>
728+
<method name="select-ok" synchronous="1" index="11">
729+
<chassis name="client" implement="MUST"/>
730+
</method>
731+
</class>
718732
<class name="tunnel" handler="tunnel" index="110">
719733
<chassis name="server" implement="MAY"/>
720734
<chassis name="client" implement="MAY"/>

docs/specs/amqp0-9.xml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
<?xml version = "1.0"?>
22

3+
<!--
4+
WARNING: Modified from the official 0-9 specification XML by
5+
the addition of confirm.select and confirm.select-ok.
6+
-->
7+
38
<!--
49
EDITORS: (PH) Pieter Hintjens <[email protected]>
510
(KvdR) Kim van der Riet <[email protected]>
@@ -3052,6 +3057,7 @@
30523057
</doc>
30533058

30543059
<chassis name = "server" implement = "MUST" />
3060+
<chassis name="client" implement="MUST"/>
30553061

30563062
<field name = "delivery-tag" domain = "delivery-tag" />
30573063

@@ -4378,6 +4384,44 @@
43784384
</method>
43794385
</class>
43804386

4387+
<class name="confirm" handler="channel" index="85">
4388+
<method name="select" synchronous="1" index="10">
4389+
select confirm mode (i.e. enable publisher acknowledgements)
4390+
<doc>
4391+
This method sets the channel to use publisher acknowledgements.
4392+
The client can only use this method on a non-transactional
4393+
channel.
4394+
</doc>
4395+
<chassis name="server" implement="MUST"/>
4396+
<response name="select-ok"/>
4397+
<field name = "multiple" type = "bit">
4398+
acknowledge multiple messages
4399+
<doc>
4400+
If set to 1, the delivery tag in the returned acks is
4401+
treated as "up to and including", so that the server can
4402+
acknowledge multiple messages with a single method. If set
4403+
to zero, the delivery tag refers to a single message.
4404+
</doc>
4405+
</field>
4406+
<field name = "nowait" type = "bit">
4407+
do not send a reply method
4408+
<doc>
4409+
If set, the server will not respond to the method. The client should
4410+
not wait for a reply method. If the server could not complete the
4411+
method it will raise a channel or connection exception.
4412+
</doc>
4413+
</field>
4414+
</method>
4415+
<method name="select-ok" synchronous="1" index="11">
4416+
acknowledge confirm mode
4417+
<doc>
4418+
This method confirms to the client that the channel was successfully
4419+
set to use publisher acknowledgements.
4420+
</doc>
4421+
<chassis name="client" implement="MUST"/>
4422+
</method>
4423+
</class>
4424+
43814425
<!-- == TUNNEL =========================================================== -->
43824426

43834427
<class name = "tunnel" handler = "tunnel" index = "110" label = "methods for protocol tunnelling">

projects/client/ApigenBootstrap/RabbitMQ.Client.ApigenBootstrap.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@
8181
<Compile Include="..\RabbitMQ.Client\src\client\events\BasicReturnEventHandler.cs">
8282
<Link>src\client\events\BasicReturnEventHandler.cs</Link>
8383
</Compile>
84+
<Compile Include="..\RabbitMQ.Client\src\client\events\BasicAckEventArgs.cs">
85+
<Link>src\client\events\BasicAckEventArgs.cs</Link>
86+
</Compile>
87+
<Compile Include="..\RabbitMQ.Client\src\client\events\BasicAckEventHandler.cs">
88+
<Link>src\client\events\BasicAckEventHandler.cs</Link>
89+
</Compile>
8490
<Compile Include="..\RabbitMQ.Client\src\client\events\CallbackExceptionEventArgs.cs">
8591
<Link>src\client\events\CallbackExceptionEventArgs.cs</Link>
8692
</Compile>

0 commit comments

Comments
 (0)