Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Barker <mike@middlesoft.co.uk>2009-07-15 00:31:07 +0400
committerMichael Barker <mike@middlesoft.co.uk>2009-07-15 00:31:07 +0400
commit8979501eccfc753b8eee716290e0262b16920320 (patch)
tree50be6474fbf8b1b9890590fa18610bcd78e374fd /mcs/class/Mono.Messaging.RabbitMQ
parent14846e6f2f0c8e95b3eec525ee9367bcd02fcbd3 (diff)
2009-07-14 Michael Barker <mike@middlesoft.co.uk>
* RabbitMQMessageQueue.cs: Refactored, removed dead code and renamed methods. svn path=/trunk/mcs/; revision=137897
Diffstat (limited to 'mcs/class/Mono.Messaging.RabbitMQ')
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog4
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs83
2 files changed, 33 insertions, 54 deletions
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
index e9c111dd57c..c55a640041a 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
@@ -1,3 +1,7 @@
+2009-07-14 Michael Barker <mike@middlesoft.co.uk>
+
+ * RabbitMQMessageQueue.cs: Refactored, removed dead code and renamed methods.
+
2009-07-11 Michael Barker <mike@middlesoft.co.uk>
* MessageFactory.cs: Switched to DateTime.UtcNow.
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
index 03069f252ad..b2d1f2fc9b0 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
@@ -448,8 +448,11 @@ namespace Mono.Messaging.RabbitMQ {
return new RabbitMQMessageEnumerator (helper, QRef);
}
+ private delegate IMessage RecieveDelegate (RabbitMQMessageQueue q,
+ IModel model);
+
private IMessage Run (MessageQueueTransactionType transactionType,
- TxReceiver.DoReceive r)
+ RecieveDelegate r)
{
switch (transactionType) {
case MessageQueueTransactionType.Single:
@@ -474,8 +477,8 @@ namespace Mono.Messaging.RabbitMQ {
}
}
- private IMessage Run (IMessageQueueTransaction transaction,
- TxReceiver.DoReceive r)
+ private IMessage Run (IMessageQueueTransaction transaction,
+ RecieveDelegate r)
{
TxReceiver txr = new TxReceiver (this, r);
RabbitMQMessageQueueTransaction tx =
@@ -483,7 +486,7 @@ namespace Mono.Messaging.RabbitMQ {
return tx.RunReceive (txr.ReceiveInContext);
}
- private IMessage Run (TxReceiver.DoReceive r)
+ private IMessage Run (RecieveDelegate r)
{
ConnectionFactory cf = new ConnectionFactory ();
using (IConnection cn = cf.CreateConnection (QRef.Host)) {
@@ -493,39 +496,16 @@ namespace Mono.Messaging.RabbitMQ {
}
}
- private IMessage ReceiveInContext (ref string host, ref IConnection cn,
- ref IModel model, string txId)
- {
- if (host == null)
- host = QRef.Host;
- else if (host != QRef.Host)
- throw new MonoMessagingException ("Transactions can not span multiple hosts");
-
- if (cn == null) {
- ConnectionFactory cf = new ConnectionFactory ();
- cn = cf.CreateConnection (host);
- }
-
- if (model == null) {
- model = cn.CreateModel ();
- model.TxSelect ();
- }
-
- return Receive (model, -1, true);
- }
-
private class TxReceiver
{
- private readonly DoReceive doReceive;
+ private readonly RecieveDelegate doReceive;
private readonly RabbitMQMessageQueue q;
- public TxReceiver(RabbitMQMessageQueue q, DoReceive doReceive) {
+ public TxReceiver(RabbitMQMessageQueue q, RecieveDelegate doReceive) {
this.q = q;
this.doReceive = doReceive;
}
-
- public delegate IMessage DoReceive (RabbitMQMessageQueue q, IModel model);
-
+
public IMessage ReceiveInContext (ref string host, ref IConnection cn,
ref IModel model, string txId)
{
@@ -548,18 +528,18 @@ namespace Mono.Messaging.RabbitMQ {
}
}
- private class DoReceiveWithTimeout
+ private class RecieveDelegateFactory
{
private readonly int timeout;
private readonly IsMatch matcher;
private readonly bool ack;
- public DoReceiveWithTimeout (int timeout, IsMatch matcher)
+ public RecieveDelegateFactory (int timeout, IsMatch matcher)
: this (timeout, matcher, true)
{
}
- public DoReceiveWithTimeout (int timeout, IsMatch matcher, bool ack)
+ public RecieveDelegateFactory (int timeout, IsMatch matcher, bool ack)
{
if (matcher != null && timeout == -1)
this.timeout = 500;
@@ -569,7 +549,7 @@ namespace Mono.Messaging.RabbitMQ {
this.ack = ack;
}
- public IMessage DoReceive (RabbitMQMessageQueue q, IModel model)
+ public IMessage RecieveDelegate (RabbitMQMessageQueue q, IModel model)
{
if (matcher == null)
return q.Receive (model, timeout, ack);
@@ -578,49 +558,44 @@ namespace Mono.Messaging.RabbitMQ {
}
}
- private static TxReceiver.DoReceive Receiver (TimeSpan timeout,
- IsMatch matcher)
+ private static RecieveDelegate Receiver (TimeSpan timeout,
+ IsMatch matcher)
{
int to = MessageFactory.TimeSpanToInt32 (timeout);
- return new DoReceiveWithTimeout (to, matcher).DoReceive;
+ return new RecieveDelegateFactory (to, matcher).RecieveDelegate;
}
- private static TxReceiver.DoReceive Receiver (IsMatch matcher)
+ private static RecieveDelegate Receiver (IsMatch matcher)
{
- return new DoReceiveWithTimeout (-1, matcher).DoReceive;
+ return new RecieveDelegateFactory (-1, matcher).RecieveDelegate;
}
- private static TxReceiver.DoReceive Receiver (TimeSpan timeout)
+ private static RecieveDelegate Receiver (TimeSpan timeout)
{
int to = MessageFactory.TimeSpanToInt32 (timeout);
- return new DoReceiveWithTimeout (to, null).DoReceive;
+ return new RecieveDelegateFactory (to, null).RecieveDelegate;
}
- private TxReceiver.DoReceive Receiver ()
- {
- return new DoReceiveWithTimeout (-1, null).DoReceive;
- }
-
- private TxReceiver.DoReceive Peeker ()
+ private RecieveDelegate Receiver ()
{
- return new DoReceiveWithTimeout (-1, null).DoReceive;
+ return new RecieveDelegateFactory (-1, null).RecieveDelegate;
}
- private TxReceiver.DoReceive Peeker (TimeSpan timeout)
+ private RecieveDelegate Peeker (TimeSpan timeout)
{
int to = MessageFactory.TimeSpanToInt32 (timeout);
- return new DoReceiveWithTimeout (to, null, false).DoReceive;
+ return new RecieveDelegateFactory (to, null, false).RecieveDelegate;
}
- private TxReceiver.DoReceive Peeker (IsMatch matcher)
+ private RecieveDelegate Peeker (IsMatch matcher)
{
- return new DoReceiveWithTimeout (-1, matcher, false).DoReceive;
+ return new RecieveDelegateFactory (-1, matcher, false).RecieveDelegate;
}
- private TxReceiver.DoReceive Peeker (TimeSpan timeout, IsMatch matcher)
+ private RecieveDelegate Peeker (TimeSpan timeout, IsMatch matcher)
{
int to = MessageFactory.TimeSpanToInt32 (timeout);
- return new DoReceiveWithTimeout (to, matcher, false).DoReceive;
+ return new RecieveDelegateFactory (to, matcher, false).RecieveDelegate;
}
delegate bool IsMatch (BasicDeliverEventArgs result);