Skip to content

Commit 2104c8b

Browse files
committed
* Finish IBindingSpecification
1 parent c9edb08 commit 2104c8b

File tree

6 files changed

+53
-44
lines changed

6 files changed

+53
-44
lines changed

RabbitMQ.AMQP.Client/IEntities.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,11 @@ public interface IBindingSpecification
172172
string BindingKey { get; }
173173
IBindingSpecification Key(string bindingKey);
174174

175-
Dictionary<string, object> Arguments();
175+
Dictionary<string, object> BindingArguments { get; }
176176
IBindingSpecification Argument(string key, object value);
177177
IBindingSpecification Arguments(Dictionary<string, object> arguments);
178178

179-
string Path();
179+
string BindingPath { get; }
180180

181181
Task BindAsync();
182182
Task UnbindAsync();

RabbitMQ.AMQP.Client/Impl/AmqpBindingSpecification.cs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,14 @@ public AmqpBindingSpecification(AmqpManagement management)
4141
_topologyListener = ((IManagementTopology)_management).TopologyListener();
4242
}
4343

44-
public Dictionary<string, object> Arguments()
44+
public string BindingPath
4545
{
46-
return _arguments;
46+
get
47+
{
48+
return BindingsTarget();
49+
}
4750
}
4851

49-
public string Path() => BindingsTarget();
50-
5152
public async Task BindAsync()
5253
{
5354
var kv = new Map
@@ -80,7 +81,7 @@ public async Task UnbindAsync()
8081
string path =
8182
$"/{Consts.Bindings}/src={Utils.EncodePathSegment(_sourceName)};{($"{destinationCharacter}={Utils.EncodePathSegment(_destinationName)};key={Utils.EncodePathSegment(_routingKey)};args=")}";
8283

83-
_topologyListener.BindingDeleted(Path());
84+
_topologyListener.BindingDeleted(BindingPath);
8485
await _management.RequestAsync(null, path, method, expectedReturnCodes)
8586
.ConfigureAwait(false);
8687
}
@@ -187,6 +188,14 @@ public IBindingSpecification Arguments(Dictionary<string, object> arguments)
187188
return this;
188189
}
189190

191+
public Dictionary<string, object> BindingArguments
192+
{
193+
get
194+
{
195+
return _arguments;
196+
}
197+
}
198+
190199
private string BindingsTarget()
191200
{
192201
string destinationField = _toQueue ? "dstq" : "dste";

RabbitMQ.AMQP.Client/Impl/AmqpConnection.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ public async Task VisitQueuesAsync(IEnumerable<QueueSpec> queueSpec)
548548
// TODO this could be done in parallel
549549
foreach (QueueSpec spec in queueSpec)
550550
{
551-
Trace.WriteLine(TraceLevel.Information, $"Recovering queue {spec.Name}");
551+
Trace.WriteLine(TraceLevel.Information, $"Recovering queue {spec.QueueName}");
552552
try
553553
{
554554
await _management.Queue(spec).DeclareAsync()
@@ -557,7 +557,7 @@ await _management.Queue(spec).DeclareAsync()
557557
catch (Exception e)
558558
{
559559
Trace.WriteLine(TraceLevel.Error,
560-
$"Error recovering queue {spec.Name}. Error: {e}. Management Status: {_management}");
560+
$"Error recovering queue {spec.QueueName}. Error: {e}. Management Status: {_management}");
561561
}
562562
}
563563
}
@@ -586,7 +586,7 @@ public async Task VisitBindingsAsync(IEnumerable<BindingSpec> bindingSpec)
586586
// TODO this could be done in parallel
587587
foreach (BindingSpec spec in bindingSpec)
588588
{
589-
Trace.WriteLine(TraceLevel.Information, $"Recovering binding {spec.Path}");
589+
Trace.WriteLine(TraceLevel.Information, $"Recovering binding {spec.BindingPath}");
590590
try
591591
{
592592
await _management.Binding(spec).BindAsync()
@@ -595,7 +595,7 @@ await _management.Binding(spec).BindAsync()
595595
catch (Exception e)
596596
{
597597
Trace.WriteLine(TraceLevel.Error,
598-
$"Error recovering binding {spec.Path}. Error: {e}. Management Status: {_management}");
598+
$"Error recovering binding {spec.BindingPath}. Error: {e}. Management Status: {_management}");
599599
}
600600
}
601601
}

RabbitMQ.AMQP.Client/Impl/AmqpManagement.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ public async Task<IQueueInfo> GetQueueInfoAsync(string queueName,
8888

8989
internal IQueueSpecification Queue(QueueSpec spec)
9090
{
91-
return Queue().Name(spec.Name)
92-
.AutoDelete(spec.AutoDelete)
93-
.Exclusive(spec.Exclusive)
94-
.Arguments(spec.Arguments);
91+
return Queue().Name(spec.QueueName)
92+
.AutoDelete(spec.IsAutoDelete)
93+
.Exclusive(spec.IsExclusive)
94+
.Arguments(spec.QueueArguments);
9595
}
9696

9797
public IExchangeSpecification Exchange()
@@ -110,7 +110,7 @@ internal IExchangeSpecification Exchange(ExchangeSpec spec)
110110
return Exchange().Name(spec.ExchangeName)
111111
.AutoDelete(spec.IsAutoDelete)
112112
.Type(spec.ExchangeType)
113-
.Arguments(spec.Arguments);
113+
.Arguments(spec.ExchangeArguments);
114114
}
115115

116116
public IBindingSpecification Binding()
@@ -121,11 +121,11 @@ public IBindingSpecification Binding()
121121
internal IBindingSpecification Binding(BindingSpec spec)
122122
{
123123
return Binding()
124-
.SourceExchange(spec.SourceExchange)
125-
.DestinationQueue(spec.DestinationQueue)
126-
.DestinationExchange(spec.DestinationExchange)
127-
.Key(spec.Key)
128-
.Arguments(spec.Arguments);
124+
.SourceExchange(spec.SourceExchangeName)
125+
.DestinationQueue(spec.DestinationQueueName)
126+
.DestinationExchange(spec.DestinationExchangeName)
127+
.Key(spec.BindingKey)
128+
.Arguments(spec.BindingArguments);
129129
}
130130

131131
ITopologyListener IManagementTopology.TopologyListener()

RabbitMQ.AMQP.Client/Impl/RecordingTopologyListener.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ private void RemoveBindingsSpecificationFromQueue(string queueName)
3333
{
3434
foreach (var binding in _bindingSpecifications.Values)
3535
{
36-
if (binding.DestinationQueue == queueName)
36+
if (binding.DestinationQueueName == queueName)
3737
{
38-
_bindingSpecifications.TryRemove(binding.Path, out _);
38+
_bindingSpecifications.TryRemove(binding.BindingPath, out _);
3939
}
4040
}
4141
}
@@ -44,10 +44,10 @@ private void RemoveBindingsSpecificationFromExchange(string exchangeName)
4444
{
4545
foreach (var binding in _bindingSpecifications.Values)
4646
{
47-
if (binding.SourceExchange == exchangeName
48-
|| binding.DestinationExchange == exchangeName)
47+
if (binding.SourceExchangeName == exchangeName
48+
|| binding.DestinationExchangeName == exchangeName)
4949
{
50-
_bindingSpecifications.TryRemove(binding.Path, out _);
50+
_bindingSpecifications.TryRemove(binding.BindingPath, out _);
5151
}
5252
}
5353
}
@@ -76,7 +76,7 @@ public void ExchangeDeleted(string name)
7676

7777
public void BindingDeclared(IBindingSpecification specification)
7878
{
79-
_bindingSpecifications.TryAdd(specification.Path(), new BindingSpec(specification));
79+
_bindingSpecifications.TryAdd(specification.BindingPath, new BindingSpec(specification));
8080
}
8181

8282
public void BindingDeleted(string key)
@@ -123,31 +123,31 @@ internal QueueSpec(IQueueSpecification queueSpecification)
123123
_queueSpecification = queueSpecification;
124124
}
125125

126-
internal string Name
126+
internal string QueueName
127127
{
128128
get
129129
{
130130
return _queueSpecification.QueueName;
131131
}
132132
}
133133

134-
internal bool Exclusive
134+
internal bool IsExclusive
135135
{
136136
get
137137
{
138138
return _queueSpecification.IsExclusive;
139139
}
140140
}
141141

142-
internal bool AutoDelete
142+
internal bool IsAutoDelete
143143
{
144144
get
145145
{
146146
return _queueSpecification.IsAutoDelete;
147147
}
148148
}
149149

150-
internal Dictionary<object, object> Arguments
150+
internal Dictionary<object, object> QueueArguments
151151
{
152152
get
153153
{
@@ -189,7 +189,7 @@ internal bool IsAutoDelete
189189
}
190190
}
191191

192-
internal Dictionary<string, object> Arguments
192+
internal Dictionary<string, object> ExchangeArguments
193193
{
194194
get
195195
{
@@ -207,51 +207,51 @@ internal BindingSpec(IBindingSpecification bindingSpecification)
207207
_bindingSpecification = bindingSpecification;
208208
}
209209

210-
internal string SourceExchange
210+
internal string SourceExchangeName
211211
{
212212
get
213213
{
214214
return _bindingSpecification.SourceExchangeName;
215215
}
216216
}
217217

218-
internal string DestinationExchange
218+
internal string DestinationExchangeName
219219
{
220220
get
221221
{
222222
return _bindingSpecification.DestinationExchangeName;
223223
}
224224
}
225225

226-
internal string DestinationQueue
226+
internal string DestinationQueueName
227227
{
228228
get
229229
{
230230
return _bindingSpecification.DestinationQueueName;
231231
}
232232
}
233233

234-
internal string Key
234+
internal string BindingKey
235235
{
236236
get
237237
{
238238
return _bindingSpecification.BindingKey;
239239
}
240240
}
241241

242-
internal Dictionary<string, object> Arguments
242+
internal Dictionary<string, object> BindingArguments
243243
{
244244
get
245245
{
246-
return _bindingSpecification.Arguments();
246+
return _bindingSpecification.BindingArguments;
247247
}
248248
}
249249

250-
internal string Path
250+
internal string BindingPath
251251
{
252252
get
253253
{
254-
return _bindingSpecification.Path();
254+
return _bindingSpecification.BindingPath;
255255
}
256256
}
257257
}

RabbitMQ.AMQP.Client/PublicAPI.Unshipped.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,18 @@ RabbitMQ.AMQP.Client.IBackOffDelayPolicy.IsActive() -> bool
6161
RabbitMQ.AMQP.Client.IBackOffDelayPolicy.Reset() -> void
6262
RabbitMQ.AMQP.Client.IBindingSpecification
6363
RabbitMQ.AMQP.Client.IBindingSpecification.Argument(string! key, object! value) -> RabbitMQ.AMQP.Client.IBindingSpecification!
64-
RabbitMQ.AMQP.Client.IBindingSpecification.Arguments() -> System.Collections.Generic.Dictionary<string!, object!>!
6564
RabbitMQ.AMQP.Client.IBindingSpecification.Arguments(System.Collections.Generic.Dictionary<string!, object!>! arguments) -> RabbitMQ.AMQP.Client.IBindingSpecification!
6665
RabbitMQ.AMQP.Client.IBindingSpecification.BindAsync() -> System.Threading.Tasks.Task!
66+
RabbitMQ.AMQP.Client.IBindingSpecification.BindingArguments.get -> System.Collections.Generic.Dictionary<string!, object!>!
6767
RabbitMQ.AMQP.Client.IBindingSpecification.BindingKey.get -> string!
68+
RabbitMQ.AMQP.Client.IBindingSpecification.BindingPath.get -> string!
6869
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationExchange(RabbitMQ.AMQP.Client.IExchangeSpecification! exchangeSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
6970
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationExchange(string! exchangeName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
7071
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationExchangeName.get -> string!
7172
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationQueue(RabbitMQ.AMQP.Client.IQueueSpecification! queueSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
7273
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationQueue(string! queueName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
7374
RabbitMQ.AMQP.Client.IBindingSpecification.DestinationQueueName.get -> string!
7475
RabbitMQ.AMQP.Client.IBindingSpecification.Key(string! bindingKey) -> RabbitMQ.AMQP.Client.IBindingSpecification!
75-
RabbitMQ.AMQP.Client.IBindingSpecification.Path() -> string!
7676
RabbitMQ.AMQP.Client.IBindingSpecification.SourceExchange(RabbitMQ.AMQP.Client.IExchangeSpecification! exchangeSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
7777
RabbitMQ.AMQP.Client.IBindingSpecification.SourceExchange(string! exchangeName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
7878
RabbitMQ.AMQP.Client.IBindingSpecification.SourceExchangeName.get -> string!
@@ -193,18 +193,18 @@ RabbitMQ.AMQP.Client.Impl.AddressBuilder.Queue(string? queue) -> RabbitMQ.AMQP.C
193193
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification
194194
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.AmqpBindingSpecification(RabbitMQ.AMQP.Client.Impl.AmqpManagement! management) -> void
195195
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.Argument(string! key, object! value) -> RabbitMQ.AMQP.Client.IBindingSpecification!
196-
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.Arguments() -> System.Collections.Generic.Dictionary<string!, object!>!
197196
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.Arguments(System.Collections.Generic.Dictionary<string!, object!>! arguments) -> RabbitMQ.AMQP.Client.IBindingSpecification!
198197
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.BindAsync() -> System.Threading.Tasks.Task!
198+
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.BindingArguments.get -> System.Collections.Generic.Dictionary<string!, object!>!
199199
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.BindingKey.get -> string!
200+
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.BindingPath.get -> string!
200201
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationExchange(RabbitMQ.AMQP.Client.IExchangeSpecification! exchangeSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
201202
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationExchange(string! exchangeName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
202203
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationExchangeName.get -> string!
203204
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationQueue(RabbitMQ.AMQP.Client.IQueueSpecification! queueSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
204205
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationQueue(string! queueName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
205206
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.DestinationQueueName.get -> string!
206207
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.Key(string! bindingKey) -> RabbitMQ.AMQP.Client.IBindingSpecification!
207-
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.Path() -> string!
208208
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.SourceExchange(RabbitMQ.AMQP.Client.IExchangeSpecification! exchangeSpec) -> RabbitMQ.AMQP.Client.IBindingSpecification!
209209
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.SourceExchange(string! exchangeName) -> RabbitMQ.AMQP.Client.IBindingSpecification!
210210
RabbitMQ.AMQP.Client.Impl.AmqpBindingSpecification.SourceExchangeName.get -> string!

0 commit comments

Comments
 (0)