summaryrefslogtreecommitdiff
path: root/qpid/dotnet/Qpid.Client/Client
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/dotnet/Qpid.Client/Client')
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQConnection.cs67
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQDestination.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/AmqChannel.cs153
-rw-r--r--qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Closeable.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs9
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs14
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs9
-rw-r--r--qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs12
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs7
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/SslOptions.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQState.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs10
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs3
-rw-r--r--qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs2
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs8
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs11
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs6
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs5
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs4
-rw-r--r--qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs98
80 files changed, 504 insertions, 291 deletions
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs b/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
index 68cacad1ef..6382eaaf39 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQAuthenticationException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQAuthenticationException : AMQException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs b/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
index 4498ba3a32..d74cf6b5e4 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQConnection.cs
@@ -24,17 +24,17 @@ using System.IO;
using System.Reflection;
using System.Threading;
using log4net;
-using Qpid.Client.Failover;
-using Qpid.Client.Protocol;
-using Qpid.Client.Qms;
-using Qpid.Client.State;
-using Qpid.Client.Transport;
-using Qpid.Client.Transport.Socket.Blocking;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
-
-namespace Qpid.Client
+using Apache.Qpid.Client.Failover;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Client.Transport.Socket.Blocking;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+
+namespace Apache.Qpid.Client
{
public class AMQConnection : Closeable, IConnection
{
@@ -273,15 +273,17 @@ namespace Qpid.Client
private bool _transacted;
private AcknowledgeMode _acknowledgeMode;
- int _prefetch;
+ int _prefetchHigh;
+ int _prefetchLow;
AMQConnection _connection;
- public CreateChannelFailoverSupport(AMQConnection connection, bool transacted, AcknowledgeMode acknowledgeMode, int prefetch)
+ public CreateChannelFailoverSupport(AMQConnection connection, bool transacted, AcknowledgeMode acknowledgeMode, int prefetchHigh, int prefetchLow)
{
_connection = connection;
_transacted = transacted;
_acknowledgeMode = acknowledgeMode;
- _prefetch = prefetch;
+ _prefetchHigh = prefetchHigh;
+ _prefetchLow = prefetchLow;
}
protected override object operation()
@@ -297,14 +299,14 @@ namespace Qpid.Client
// open it, so that there is no window where we could receive data on the channel and not be set
// up to handle it appropriately.
AmqChannel channel = new AmqChannel(_connection,
- channelId, _transacted, _acknowledgeMode, _prefetch);
+ channelId, _transacted, _acknowledgeMode, _prefetchHigh, _prefetchLow);
_connection.ProtocolSession.AddSessionByChannel(channelId, channel);
_connection.RegisterSession(channelId, channel);
bool success = false;
try
{
- _connection.createChannelOverWire(channelId, (ushort)_prefetch, _transacted);
+ _connection.CreateChannelOverWire(channelId, _prefetchHigh, _prefetchLow, _transacted);
success = true;
}
catch (AMQException e)
@@ -334,11 +336,16 @@ namespace Qpid.Client
public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode)
{
- return CreateChannel(transacted, acknowledgeMode, AmqChannel.DEFAULT_PREFETCH);
+ return CreateChannel(transacted, acknowledgeMode, AmqChannel.DEFAULT_PREFETCH_HIGH_MARK);
}
public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode, int prefetch)
{
+ return CreateChannel(transacted, acknowledgeMode, prefetch, prefetch);
+ }
+
+ public IChannel CreateChannel(bool transacted, AcknowledgeMode acknowledgeMode, int prefetchHigh, int prefetchLow)
+ {
CheckNotClosed();
if (ChannelLimitReached())
{
@@ -347,7 +354,7 @@ namespace Qpid.Client
else
{
CreateChannelFailoverSupport operation =
- new CreateChannelFailoverSupport(this, transacted, acknowledgeMode, prefetch);
+ new CreateChannelFailoverSupport(this, transacted, acknowledgeMode, prefetchHigh, prefetchLow);
return (IChannel)operation.execute(this);
}
}
@@ -704,8 +711,8 @@ namespace Qpid.Client
/*
// Currently there is only one transport option - BlockingSocket.
- String assemblyName = "Qpid.Client.Transport.Socket.Blocking.dll";
- String transportType = "Qpid.Client.Transport.Socket.Blocking.BlockingSocketTransport";
+ String assemblyName = "Apache.Qpid.Client.Transport.Socket.Blocking.dll";
+ String transportType = "Apache.Qpid.Client.Transport.Socket.Blocking.BlockingSocketTransport";
// Load the transport assembly dynamically.
_transport = LoadTransportFromAssembly(brokerDetail.getHost(), brokerDetail.getPort(), assemblyName, transportType);
@@ -774,18 +781,23 @@ namespace Qpid.Client
foreach (AmqChannel channel in channels)
{
_protocolSession.AddSessionByChannel(channel.ChannelId, channel);
- ReopenChannel(channel.ChannelId, (ushort)channel.DefaultPrefetch, channel.Transacted);
+ ReopenChannel(
+ channel.ChannelId,
+ channel.DefaultPrefetchHigh,
+ channel.DefaultPrefetchLow,
+ channel.Transacted
+ );
channel.ReplayOnFailOver();
}
}
- private void ReopenChannel(ushort channelId, ushort prefetch, bool transacted)
+ private void ReopenChannel(ushort channelId, int prefetchHigh, int prefetchLow, bool transacted)
{
- _log.Debug(string.Format("Reopening channel id={0} prefetch={1} transacted={2}",
- channelId, prefetch, transacted));
+ _log.Debug(string.Format("Reopening channel id={0} prefetchHigh={1} prefetchLow={2} transacted={3}",
+ channelId, prefetchHigh, prefetchLow, transacted));
try
{
- createChannelOverWire(channelId, prefetch, transacted);
+ CreateChannelOverWire(channelId, prefetchHigh, prefetchLow, transacted);
}
catch (AMQException e)
{
@@ -795,7 +807,7 @@ namespace Qpid.Client
}
}
- void createChannelOverWire(ushort channelId, ushort prefetch, bool transacted)
+ void CreateChannelOverWire(ushort channelId, int prefetchHigh, int prefetchLow, bool transacted)
{
_protocolWriter.SyncWrite(ChannelOpenBody.CreateAMQFrame(channelId, null), typeof (ChannelOpenOkBody));
@@ -805,7 +817,8 @@ namespace Qpid.Client
{
// Basic.Qos frame appears to not be supported by OpenAMQ 1.0d.
_protocolWriter.SyncWrite(
- BasicQosBody.CreateAMQFrame(channelId, 0, prefetch, false),
+ BasicQosBody.CreateAMQFrame(
+ channelId, (uint)prefetchHigh, 0, false),
typeof (BasicQosOkBody));
}
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs b/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
index a4caf02e2c..c8a48814bb 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQConnectionException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQConnectionException : AMQException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs b/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
index e2c4778a28..07ce3c2354 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQDestination.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public abstract class AMQDestination
{
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs b/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
index ec5944bdac..0d93176734 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQNoConsumersException.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Runtime.Serialization;
-using Qpid.Common;
-using Qpid.Protocol;
+using Apache.Qpid.Common;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQNoConsumersException : AMQUndeliveredException
diff --git a/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs b/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
index 8f0db1c3d5..bde3cdd989 100644
--- a/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AMQNoRouteException.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Runtime.Serialization;
-using Qpid.Common;
-using Qpid.Protocol;
+using Apache.Qpid.Common;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
[Serializable]
public class AMQNoRouteException : AMQUndeliveredException
diff --git a/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs b/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
index 90e3788f5a..591c5b941f 100644
--- a/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AmqBrokerInfo.cs
@@ -21,9 +21,9 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class AmqBrokerInfo : IBrokerInfo
{
diff --git a/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs b/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
index 9a8b9f787a..84f08729dd 100644
--- a/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/AmqChannel.cs
@@ -23,14 +23,15 @@ using System.Collections;
using System.Text.RegularExpressions;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Message;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Protocol;
-
-namespace Qpid.Client
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Util;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Protocol;
+
+namespace Apache.Qpid.Client
{
public class AmqChannel : Closeable, IChannel
{
@@ -41,11 +42,14 @@ namespace Qpid.Client
private static int _nextSessionNumber = 0;
private int _sessionNumber;
+ private bool _suspended;
+ private object _suspensionLock = new object();
// Used in the consume method. We generate the consume tag on the client so that we can use the nowait feature.
private int _nextConsumerNumber = 1;
- internal const int DEFAULT_PREFETCH = MessageConsumerBuilder.DEFAULT_PREFETCH_HIGH;
+ public const int DEFAULT_PREFETCH_HIGH_MARK = 5000;
+ public const int DEFAULT_PREFETCH_LOW_MARK = 2500;
private AMQConnection _connection;
@@ -55,9 +59,10 @@ namespace Qpid.Client
private ushort _channelId;
- private int _defaultPrefetch = DEFAULT_PREFETCH;
+ private int _defaultPrefetchHighMark = DEFAULT_PREFETCH_HIGH_MARK;
+ private int _defaultPrefetchLowMark = DEFAULT_PREFETCH_LOW_MARK;
- private BlockingQueue _queue = new LinkedBlockingQueue();
+ private FlowControlQueue _queue;
private Dispatcher _dispatcher;
@@ -105,7 +110,7 @@ namespace Qpid.Client
{
UnprocessedMessage message;
- while (_stopped == 0 && (message = (UnprocessedMessage)_containingChannel._queue.DequeueBlocking()) != null)
+ while (_stopped == 0 && (message = (UnprocessedMessage)_containingChannel._queue.Dequeue()) != null)
{
//_queue.size()
DispatchMessage(message);
@@ -163,8 +168,9 @@ namespace Qpid.Client
/// <param name="channelId">The channel id.</param>
/// <param name="transacted">if set to <c>true</c> [transacted].</param>
/// <param name="acknowledgeMode">The acknowledge mode.</param>
- /// <param name="defaultPrefetch">Default prefetch value</param>
- internal AmqChannel(AMQConnection con, ushort channelId, bool transacted, AcknowledgeMode acknowledgeMode, int defaultPrefetch)
+ /// <param name="defaultPrefetchHigh">Default prefetch high value</param>
+ /// <param name="defaultPrefetchLow">Default prefetch low value</param>
+ internal AmqChannel(AMQConnection con, ushort channelId, bool transacted, AcknowledgeMode acknowledgeMode, int defaultPrefetchHigh, int defaultPrefetchLow)
: this()
{
_sessionNumber = Interlocked.Increment(ref _nextSessionNumber);
@@ -178,8 +184,26 @@ namespace Qpid.Client
_acknowledgeMode = acknowledgeMode;
}
_channelId = channelId;
+ _defaultPrefetchHighMark = defaultPrefetchHigh;
+ _defaultPrefetchLowMark = defaultPrefetchLow;
+
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _queue = new FlowControlQueue(
+ _defaultPrefetchLowMark, _defaultPrefetchHighMark,
+ new ThresholdMethod(OnPrefetchLowMark),
+ new ThresholdMethod(OnPrefetchHighMark)
+ );
+ } else
+ {
+ // low and upper are the same
+ _queue = new FlowControlQueue(
+ _defaultPrefetchHighMark, _defaultPrefetchHighMark,
+ null, null
+ );
+ }
}
-
+
private AmqChannel()
{
_messageFactoryRegistry = MessageFactoryRegistry.NewDefaultRegistry();
@@ -269,19 +293,30 @@ namespace Qpid.Client
public void Rollback()
{
- // FIXME: Fail over safety. Needs FailoverSupport?
- CheckNotClosed();
- CheckTransacted(); // throws IllegalOperationException if not a transacted session
-
- try
- {
- _connection.ConvenientProtocolWriter.SyncWrite(
- TxRollbackBody.CreateAMQFrame(_channelId), typeof(TxRollbackOkBody));
- }
- catch (AMQException e)
- {
- throw new QpidException("Failed to rollback", e);
- }
+ lock ( _suspensionLock )
+ {
+ CheckTransacted(); // throws IllegalOperationException if not a transacted session
+
+ try
+ {
+ bool suspended = IsSuspended;
+ if ( !suspended )
+ Suspend(true);
+
+ // todo: rollback dispatcher when TX support is added
+ //if ( _dispatcher != null )
+ // _dispatcher.Rollback();
+
+ _connection.ConvenientProtocolWriter.SyncWrite(
+ TxRollbackBody.CreateAMQFrame(_channelId), typeof(TxRollbackOkBody));
+
+ if ( !suspended )
+ Suspend(false);
+ } catch ( AMQException e )
+ {
+ throw new QpidException("Failed to rollback", e);
+ }
+ }
}
public override void Close()
@@ -539,21 +574,26 @@ namespace Qpid.Client
ReturnBouncedMessage(message);
} else
{
- _queue.EnqueueBlocking(message);
+ _queue.Enqueue(message);
}
}
public int DefaultPrefetch
{
- get
- {
- return _defaultPrefetch;
- }
- set
- {
- _defaultPrefetch = value;
- }
- }
+ get { return DefaultPrefetchHigh; }
+ }
+ public int DefaultPrefetchLow
+ {
+ get { return _defaultPrefetchLowMark; }
+ }
+ public int DefaultPrefetchHigh
+ {
+ get { return _defaultPrefetchHighMark; }
+ }
+ public bool IsSuspended
+ {
+ get { return _suspended; }
+ }
public ushort ChannelId
{
@@ -581,6 +621,7 @@ namespace Qpid.Client
internal void Stop()
{
+ Suspend(true);
if (_dispatcher != null)
{
_dispatcher.StopDispatcher();
@@ -883,7 +924,7 @@ namespace Qpid.Client
* @param multiple if true will acknowledge all messages up to and including the one specified by the
* delivery tag
*/
- public void AcknowledgeMessage(ulong deliveryTag, bool multiple)
+ internal void AcknowledgeMessage(ulong deliveryTag, bool multiple)
{
AMQFrame ackFrame = BasicAckBody.CreateAMQFrame(_channelId, deliveryTag, multiple);
if (_logger.IsDebugEnabled)
@@ -930,5 +971,39 @@ namespace Qpid.Client
}
}
+
+ private void OnPrefetchLowMark(int count)
+ {
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _logger.Warn("Below threshold(" + _defaultPrefetchLowMark + ") so unsuspending channel. Current value is " + count);
+ Suspend(false);
+ }
+ }
+ private void OnPrefetchHighMark(int count)
+ {
+ if ( _acknowledgeMode == AcknowledgeMode.NoAcknowledge )
+ {
+ _logger.Warn("Above threshold(" + _defaultPrefetchHighMark + ") so suspending channel. Current value is " + count);
+ Suspend(true);
+ }
+ }
+
+ private void Suspend(bool suspend)
+ {
+ lock ( _suspensionLock )
+ {
+ if ( _logger.IsDebugEnabled )
+ {
+ _logger.Debug("Setting channel flow : " + (suspend ? "suspended" : "unsuspended"));
+ }
+
+ _suspended = suspend;
+ AMQFrame frame = ChannelFlowBody.CreateAMQFrame(_channelId, !suspend);
+
+ Connection.ConvenientProtocolWriter.SyncWrite(frame, typeof(ChannelFlowOkBody));
+ }
+ }
+
}
}
diff --git a/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs b/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
index 796a878eec..fd4ff79505 100644
--- a/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
+++ b/qpid/dotnet/Qpid.Client/Client/BasicMessageConsumer.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Message;
-using Qpid.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class BasicMessageConsumer : Closeable, IMessageConsumer
{
diff --git a/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs b/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
index c1af826102..ca6d2abee5 100644
--- a/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
+++ b/qpid/dotnet/Qpid.Client/Client/BasicMessageProducer.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Message;
-using Qpid.Messaging;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Framing;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class BasicMessageProducer : Closeable, IMessagePublisher
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Closeable.cs b/qpid/dotnet/Qpid.Client/Client/Closeable.cs
index 159f71ac08..d70f75ee6b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Closeable.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Closeable.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public abstract class Closeable
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
index 0d1fb73c31..ae9225a53a 100644
--- a/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Configuration/AuthenticationConfigurationSectionHandler.cs
@@ -25,10 +25,10 @@ using System.Collections.Specialized;
using System.Configuration;
using System.Text;
-using Qpid.Client.Security;
-using Qpid.Sasl.Mechanisms;
+using Apache.Qpid.Client.Security;
+using Apache.Qpid.Sasl.Mechanisms;
-namespace Qpid.Client.Configuration
+namespace Apache.Qpid.Client.Configuration
{
public class AuthenticationConfigurationSectionHandler
: IConfigurationSectionHandler
@@ -81,4 +81,4 @@ namespace Qpid.Client.Configuration
_keys.Remove(key);
}
}
-} // namespace Qpid.Client.Configuration
+} // namespace Apache.Qpid.Client.Configuration
diff --git a/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs b/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
index 20f158f0ea..b21486bfa8 100644
--- a/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
+++ b/qpid/dotnet/Qpid.Client/Client/ConnectionTuneParameters.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class ConnectionTuneParameters
{
@@ -80,3 +80,4 @@ namespace Qpid.Client
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
index e2bc5b8a71..7013746414 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
/// <summary>
/// This exception is thrown when failover is taking place and we need to let other
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
index dbd09da49c..83c69b7d25 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverHandler.cs
@@ -21,10 +21,10 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
public class FailoverHandler
{
@@ -172,3 +172,4 @@ namespace Qpid.Client.Failover
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
index 04322eeed4..3058cdcd69 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverState.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
/// <summary>
/// Enumeration of failover states. Used to handle failover from within AMQProtocolHandler where MINA events need to be
diff --git a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
index 591c0b1d4f..afa5301f39 100644
--- a/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Failover/FailoverSupport.cs
@@ -20,7 +20,7 @@
*/
using log4net;
-namespace Qpid.Client.Failover
+namespace Apache.Qpid.Client.Failover
{
public abstract class FailoverSupport
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
index d6e196c8dd..def1e78e8c 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/BasicDeliverMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class BasicDeliverMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
index 0bd65a1ace..f413dfc9c6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/BasicReturnMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class BasicReturnMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
index 7f88dd8219..9ed09a0d01 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ChannelCloseMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Protocol;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Protocol;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ChannelCloseMethodHandler : IStateAwareMethodListener
{
@@ -65,3 +65,4 @@ namespace Qpid.Client.Handler
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
index dea5316d25..66cff3bc65 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseMethodHandler.cs
@@ -21,12 +21,12 @@
using System;
using System.Threading;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Protocol;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Protocol;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionCloseMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
index bd8fac1127..038da15731 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionCloseOkHandler.cs
@@ -19,11 +19,11 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionCloseOkHandler : IStateAwareMethodListener
{
@@ -38,3 +38,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
index b43e2700f6..a12e4ead60 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionOpenOkMethodHandler.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionOpenOkMethodHandler : IStateAwareMethodListener
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
index 0639d66028..08cc580b17 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionRedirectMethodHandler.cs
@@ -19,10 +19,10 @@
*
*/
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionRedirectMethodHandler : IStateAwareMethodListener
{
@@ -65,3 +65,4 @@ namespace Qpid.Client.Handler
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
index fe123e6745..9333d4d0a6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionSecureMethodHandler.cs
@@ -18,12 +18,12 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionSecureMethodHandler : IStateAwareMethodListener
{
@@ -57,3 +57,4 @@ namespace Qpid.Client.Handler
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
index 3cb7c76e23..1710c19080 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionStartMethodHandler.cs
@@ -22,14 +22,14 @@ using System;
using System.Collections;
using System.Text;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.Security;
-using Qpid.Client.State;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Security;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionStartMethodHandler : IStateAwareMethodListener
{
@@ -73,7 +73,7 @@ namespace Qpid.Client.Handler
stateManager.ChangeState(AMQState.CONNECTION_NOT_TUNED);
FieldTable clientProperties = new FieldTable();
- clientProperties["product"] = "Qpid.NET";
+ clientProperties["product"] = "Apache.Qpid.NET";
clientProperties["version"] = "1.0";
clientProperties["platform"] = GetFullSystemInfo();
AMQFrame frame = ConnectionStartOkBody.CreateAMQFrame(
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
index afcbd26781..15a1d908b7 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/ConnectionTuneMethodHandler.cs
@@ -20,11 +20,11 @@
*/
using System;
using log4net;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class ConnectionTuneMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
index 9a67b69834..7290d758f8 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/QueueDeleteOkMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class QueueDeleteOkMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs b/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
index 59e7db34ab..8bde707b00 100644
--- a/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Handler/QueuePurgeOkMethodHandler.cs
@@ -19,12 +19,12 @@
*
*/
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Protocol;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Handler
+namespace Apache.Qpid.Client.Handler
{
public class QueuePurgeOkMethodHandler : IStateAwareMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
index a43eb028df..e58de2ab96 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessage.cs
@@ -18,9 +18,9 @@
* under the License.
*
*/
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class AMQMessage
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
index a7ee085a04..f352d62c11 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AMQMessageFactory.cs
@@ -19,11 +19,11 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
using log4net;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public abstract class AbstractQmsMessageFactory : IMessageFactory
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
index 7a28d7a85f..19f59a4fc1 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/AbstractQmsMessage.cs
@@ -22,11 +22,11 @@ using System;
using System.Collections;
using System.Text;
using log4net;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public abstract class AbstractQmsMessage : AMQMessage, IMessage
{
@@ -326,7 +326,7 @@ namespace Qpid.Client.Message
// is not specified. In our case, we only set the session field where client acknowledge mode is specified.
if (_channel != null)
{
- // we set multiple to true here since acknowledgement implies acknowledge of all previous messages
+ // we set multiple to true here since acknowledgement implies acknowledge of all count messages
// received on the session
_channel.AcknowledgeMessage((ulong)DeliveryTag, true);
}
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
index cffc585067..bed379290f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/IMessageFactory.cs
@@ -19,9 +19,9 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public interface IMessageFactory
{
@@ -49,3 +49,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs b/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
index f854a541fc..fdb5e14aa6 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/MessageFactoryRegistry.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Collections;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class MessageFactoryRegistry
{
@@ -126,3 +126,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
index cb504d1378..fb3efb1b0f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessage.cs
@@ -22,11 +22,11 @@ using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
[Serializable]
class MessageEOFException : QpidException
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
index e96c38cbac..3cc96cbddc 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Collections;
-using Qpid.Framing;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidBytesMessageFactory : AbstractQmsMessageFactory
{
@@ -72,3 +72,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
index a258c82d15..d27c1df853 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidHeaders.cs
@@ -1,10 +1,10 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
internal class QpidHeaders : IHeaders
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
index ae8bdb2074..24aef92aa5 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs
@@ -20,11 +20,11 @@
*/
using System;
using System.Text;
-using Qpid.Framing;
-using Qpid.Messaging;
-using Qpid.Buffer;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidTextMessage : AbstractQmsMessage, ITextMessage
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
index 4730fa56ad..79871e85ca 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/QpidTextMessageFactory.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Buffer;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class QpidTextMessageFactory : AbstractQmsMessageFactory
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs b/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
index a671f608d1..4317ef3474 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/UnexpectedBodyReceivedException.cs
@@ -22,7 +22,7 @@ using System;
using System.Runtime.Serialization;
using log4net;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
/// <summary>
/// Raised when a message body is received unexpectedly by the client. This typically occurs when the
@@ -54,3 +54,4 @@ namespace Qpid.Client.Message
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs b/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
index b64c8e1c27..d329712334 100644
--- a/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Message/UnprocessedMessage.cs
@@ -19,9 +19,9 @@
*
*/
using System.Collections;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Message
+namespace Apache.Qpid.Client.Message
{
public class UnprocessedMessage
{
@@ -54,3 +54,4 @@ namespace Qpid.Client.Message
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
index ab40a83b3e..a7ce808862 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQMethodEvent.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.Text;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQMethodEvent
{
@@ -73,3 +73,4 @@ namespace Qpid.Client.Protocol
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
index 2bf9f9a4c1..326afbe613 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolListener.cs
@@ -22,12 +22,12 @@ using System;
using System.Collections;
using System.Threading;
using log4net;
-using Qpid.Client.Failover;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Client.State;
-using Qpid.Framing;
+using Apache.Qpid.Client.Failover;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Client.State;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQProtocolListener : IProtocolListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
index 0ca443e3bb..e0fa22e7a3 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/AMQProtocolSession.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Client.Message;
-using Qpid.Client.Transport;
-using Qpid.Framing;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Message;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Framing;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public class AMQProtocolSession
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
index 0638bf0704..6841b46f54 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/DefaultTimeouts.cs
@@ -22,7 +22,7 @@
using System;
using System.Text;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
/// <summary>
/// Default timeout values for the protocol
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
index be8a24a9f4..e3298200c4 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/IConnectionCloser.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public interface IConnectionCloser
{
void Close();
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
index 6ac8a7537e..3b53f015f8 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/IProtocolListener.cs
@@ -19,10 +19,10 @@
*
*/
using System;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
public interface IProtocolListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
index a020efbf21..9cc9f8cee5 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/BlockingMethodFrameListener.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.Threading;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public abstract class BlockingMethodFrameListener : IAMQMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
index db82eb1013..b5450d00f7 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/IAMQMethodListener.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public interface IAMQMethodListener
{
@@ -43,3 +43,4 @@ namespace Qpid.Client.Protocol.Listener
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
index 65460a0c2e..8cdc1dbba9 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/Listener/SpecificMethodFrameListener.cs
@@ -19,9 +19,9 @@
*
*/
using System;
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Protocol.Listener
+namespace Apache.Qpid.Client.Protocol.Listener
{
public class SpecificMethodFrameListener : BlockingMethodFrameListener
{
@@ -39,3 +39,4 @@ namespace Qpid.Client.Protocol.Listener
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs b/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
index 0ef337501e..11918f1ea2 100644
--- a/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Protocol/ProtocolWriter.cs
@@ -19,13 +19,13 @@
*
*/
using System;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Client.Transport;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Client.Transport;
+using Apache.Qpid.Framing;
using log4net;
-namespace Qpid.Client.Protocol
+namespace Apache.Qpid.Client.Protocol
{
/// <summary>
/// A convenient interface to writing protocol frames.
@@ -104,3 +104,4 @@ namespace Qpid.Client.Protocol
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs b/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
index d88683f7d5..ede8966f37 100644
--- a/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
+++ b/qpid/dotnet/Qpid.Client/Client/QpidConnectionInfo.cs
@@ -24,9 +24,9 @@ using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using log4net;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
public class URLHelper
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs b/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
index 546bcec35a..85be927ff4 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
@@ -23,12 +23,12 @@ using System;
using System.Collections;
using System.Configuration;
using System.Text;
-using Qpid.Sasl;
-using Qpid.Sasl.Mechanisms;
+using Apache.Qpid.Sasl;
+using Apache.Qpid.Sasl.Mechanisms;
-using Qpid.Client.Configuration;
+using Apache.Qpid.Client.Configuration;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
/// <summary>
@@ -55,12 +55,12 @@ namespace Qpid.Client.Security
/// <configuration>
/// <configSections>
/// <sectionGroup name="qpid.client">
- /// <section name="authentication" type="Qpid.Client.Configuration.AuthenticationConfigurationSectionHandler, Qpid.Client"/>
+ /// <section name="authentication" type="Apache.Qpid.Client.Configuration.AuthenticationConfigurationSectionHandler, Apache.Qpid.Client"/>
/// </sectionGroup>
/// </configSections>
/// <qpid.client>
/// <authentication>
- /// <add key="TEST" value="Qpid.Client.Tests.Security.TestCallbackHandler, Qpid.Client.Tests"/>
+ /// <add key="TEST" value="Apache.Qpid.Client.Tests.Security.TestCallbackHandler, Apache.Qpid.Client.Tests"/>
/// </authentication>
/// </qpid.client>
/// </configuration>
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs b/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
index 6802b90cee..2560c1d96b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/IAMQCallbackHandler.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Text;
-using Qpid.Client.Protocol;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
public interface IAMQCallbackHandler : ISaslCallbackHandler
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.Security
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs b/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
index a14139496c..489d4d1665 100644
--- a/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Security/UsernamePasswordCallbackHandler.cs
@@ -22,10 +22,10 @@
using System;
using System.Collections;
using System.Text;
-using Qpid.Client.Protocol;
-using Qpid.Sasl;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Sasl;
-namespace Qpid.Client.Security
+namespace Apache.Qpid.Client.Security
{
internal class UsernamePasswordCallbackHandler : IAMQCallbackHandler
{
diff --git a/qpid/dotnet/Qpid.Client/Client/SslOptions.cs b/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
index a6488d99ea..d637101000 100644
--- a/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
+++ b/qpid/dotnet/Qpid.Client/Client/SslOptions.cs
@@ -21,7 +21,7 @@
using System;
using System.Security.Cryptography.X509Certificates;
-namespace Qpid.Client
+namespace Apache.Qpid.Client
{
/// <summary>
/// Configures SSL-related options to connect to an AMQP broker.
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
index fc71fe647c..67f8427fb2 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQState.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public enum AMQState
{
@@ -32,3 +32,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
index 60d44da824..a464bbb6f5 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQStateChangedEvent.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class AMQStateChangedEvent
{
diff --git a/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs b/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
index 9ce6d3c76a..881e01e697 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/AMQStateManager.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Client.Handler;
-using Qpid.Client.Protocol;
-using Qpid.Client.Protocol.Listener;
-using Qpid.Framing;
+using Apache.Qpid.Client.Handler;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol.Listener;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class AMQStateManager : IAMQMethodListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
index ff27cd841e..31e4b5046d 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IAMQStateListener.cs
@@ -18,7 +18,7 @@
* under the License.
*
*/
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IAMQStateListener
{
@@ -26,3 +26,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
index 256fe1c3f3..0874f39665 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IStateAwareMethodListener.cs
@@ -18,9 +18,9 @@
* under the License.
*
*/
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IStateAwareMethodListener
{
@@ -28,3 +28,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs b/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
index 6073b2bb0c..edd7382f93 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IStateListener.cs
@@ -20,7 +20,7 @@
*/
using System;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public interface IStateListener
{
@@ -30,3 +30,4 @@ namespace Qpid.Client.State
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs b/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
index 86b625951e..81de622617 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/IllegalStateTransitionException.cs
@@ -21,7 +21,7 @@
using System;
using System.Runtime.Serialization;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
[Serializable]
public class IllegalStateTransitionException : AMQException
@@ -71,3 +71,4 @@ namespace Qpid.Client.State
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs b/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
index 34667da744..e739d0cb44 100644
--- a/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/State/StateWaiter.cs
@@ -20,10 +20,10 @@
*/
using System;
using System.Threading;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Protocol;
using log4net;
-namespace Qpid.Client.State
+namespace Apache.Qpid.Client.State
{
public class StateWaiter : IStateListener
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs b/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
index 1024fa5575..dd0bb404cb 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/AMQProtocolProvider.cs
@@ -18,11 +18,11 @@
* under the License.
*
*/
-using Qpid.Codec;
-using Qpid.Codec.Demux;
-using Qpid.Framing;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Codec.Demux;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class AMQProtocolProvider
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
index e23037d1de..dc72846bbe 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/AmqpChannel.cs
@@ -21,12 +21,12 @@
using System;
using System.Collections;
using log4net;
-using Qpid.Buffer;
-using Qpid.Codec;
-using Qpid.Codec.Support;
-using Qpid.Framing;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Codec.Support;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class AmqpChannel : IProtocolChannel
{
@@ -108,3 +108,4 @@ namespace Qpid.Client.Transport
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
index 0f8f341d48..35806f2a6e 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IByteChannel.cs
@@ -19,9 +19,9 @@
*
*/
using System;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Represents input/output channels that read
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
index e4d4d2ed29..0b59ee8799 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolChannel.cs
@@ -21,7 +21,7 @@
using System;
using System.Collections;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface IProtocolChannel : IProtocolWriter
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
index ac19977927..592dff3a19 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IProtocolWriter.cs
@@ -18,12 +18,12 @@
* under the License.
*
*/
-using Qpid.Framing;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface IProtocolWriter
{
void Write(IDataBlock o);
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
index 409b428c01..7195b3ab04 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IStreamFilter.cs
@@ -20,7 +20,7 @@
*/
using System.IO;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Defines a way to introduce an arbitrary filtering
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs b/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
index 3d918693bc..693a9a9534 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/ITransport.cs
@@ -18,10 +18,10 @@
* under the License.
*
*/
-using Qpid.Client.Qms;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public interface ITransport : IConnectionCloser
{
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs b/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
index 8d1f04f662..556f9631b3 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/IoHandler.cs
@@ -22,10 +22,10 @@ using System;
using System.IO;
using System.Threading;
using log4net;
-using Qpid.Buffer;
-using Qpid.Client.Protocol;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Client.Protocol;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// Responsible for reading and writing
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs b/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
index 07df62ea84..357aab0f45 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/ProtocolDecoderOutput.cs
@@ -20,12 +20,12 @@
*/
using System;
using System.Threading;
-using Qpid.Client.Protocol;
-using Qpid.Codec;
-using Qpid.Framing;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Framing;
using log4net;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
/// <summary>
/// <see cref="IProtocolDecoderOutput"/> implementation that forwards
@@ -55,5 +55,6 @@ namespace Qpid.Client.Transport
}
}
}
-} // namespace Qpid.Client.Transport
+} // namespace Apache.Qpid.Client.Transport
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs b/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
index 5b5392769a..a1aa889ba0 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/SingleProtocolEncoderOutput.cs
@@ -19,10 +19,10 @@
*
*/
using System;
-using Qpid.Buffer;
-using Qpid.Codec;
+using Apache.Qpid.Buffer;
+using Apache.Qpid.Codec;
-namespace Qpid.Client.Transport
+namespace Apache.Qpid.Client.Transport
{
public class SingleProtocolEncoderOutput : IProtocolEncoderOutput
{
@@ -37,4 +37,4 @@ namespace Qpid.Client.Transport
buffer = buf;
}
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
index 2895c75431..8a16f9a675 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/BlockingSocketTransport.cs
@@ -22,12 +22,12 @@ using System;
using System.Collections;
using System.IO;
using System.Threading;
-using Qpid.Client.Qms;
-using Qpid.Client.Protocol;
-using Qpid.Codec;
-using Qpid.Framing;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client.Protocol;
+using Apache.Qpid.Codec;
+using Apache.Qpid.Framing;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// TCP Socket transport supporting both
@@ -147,3 +147,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
index ff2c301a91..077f69541f 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ByteChannel.cs
@@ -20,9 +20,9 @@
*/
using System;
using log4net;
-using Qpid.Buffer;
+using Apache.Qpid.Buffer;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
class ByteChannel : IByteChannel
{
@@ -89,4 +89,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
_lowerChannel.EndWrite(result);
}
}
-} \ No newline at end of file
+}
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
index ac0dc37a16..3d5d2898cf 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/ISocketConnector.cs
@@ -20,9 +20,9 @@
*/
using System;
using System.IO;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
interface ISocketConnector : IDisposable
{
@@ -31,3 +31,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
index a651413581..83f7287e9b 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SocketConnector.cs
@@ -21,9 +21,9 @@
using System.IO;
using System.Net;
using System.Net.Sockets;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// Implements a TCP connection over regular sockets.
@@ -68,3 +68,4 @@ namespace Qpid.Client.Transport.Socket.Blocking
}
}
+
diff --git a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
index 24c3f5bcb8..708edde48c 100644
--- a/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
+++ b/qpid/dotnet/Qpid.Client/Client/Transport/Socket/Blocking/SslSocketConnector.cs
@@ -21,12 +21,12 @@
using System.IO;
using System.Net;
using log4net;
-using Qpid.Client.Qms;
+using Apache.Qpid.Client.Qms;
using Org.Mentalis.Security.Ssl;
using MCertificate = Org.Mentalis.Security.Certificates.Certificate;
using MCertificateChain = Org.Mentalis.Security.Certificates.CertificateChain;
-namespace Qpid.Client.Transport.Socket.Blocking
+namespace Apache.Qpid.Client.Transport.Socket.Blocking
{
/// <summary>
/// Implements a TLS v1.0 connection using the Mentalis.org library
diff --git a/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs b/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs
new file mode 100644
index 0000000000..87bb2a2859
--- /dev/null
+++ b/qpid/dotnet/Qpid.Client/Client/Util/FlowControlQueue.cs
@@ -0,0 +1,98 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+using System;
+using System.Collections;
+using System.Text;
+using System.Threading;
+using Apache.Qpid.Collections;
+using Apache.Qpid.Common;
+
+namespace Apache.Qpid.Client.Util
+{
+ internal delegate void ThresholdMethod(int currentCount);
+
+ /// <summary>
+ /// Basic bounded queue used to implement prefetching.
+ /// Notice we do the callbacks here asynchronously to
+ /// avoid adding more complexity to the channel impl.
+ /// </summary>
+ internal class FlowControlQueue
+ {
+ private BlockingQueue _queue = new LinkedBlockingQueue();
+ private int _itemCount;
+ private int _lowerBound;
+ private int _upperBound;
+ private ThresholdMethod _underThreshold;
+ private ThresholdMethod _overThreshold;
+
+ public FlowControlQueue(
+ int lowerBound,
+ int upperBound,
+ ThresholdMethod underThreshold,
+ ThresholdMethod overThreshold
+ )
+ {
+ _lowerBound = lowerBound;
+ _upperBound = upperBound;
+ _underThreshold = underThreshold;
+ _overThreshold = overThreshold;
+ }
+
+ public void Enqueue(object item)
+ {
+ _queue.EnqueueBlocking(item);
+ int count = Interlocked.Increment(ref _itemCount);
+ if ( _overThreshold != null )
+ {
+ if ( count == _upperBound )
+ {
+ _overThreshold.BeginInvoke(
+ count, new AsyncCallback(OnAsyncCallEnd),
+ _overThreshold
+ );
+ }
+ }
+ }
+
+ public object Dequeue()
+ {
+ object item = _queue.DequeueBlocking();
+ int count = Interlocked.Decrement(ref _itemCount);
+ if ( _underThreshold != null )
+ {
+ if ( count == _lowerBound )
+ {
+ _underThreshold.BeginInvoke(
+ count, new AsyncCallback(OnAsyncCallEnd),
+ _underThreshold
+ );
+ }
+ }
+ return item;
+ }
+
+ private void OnAsyncCallEnd(IAsyncResult res)
+ {
+ ThresholdMethod method = (ThresholdMethod)res.AsyncState;
+ method.EndInvoke(res);
+ }
+ }
+}