Skip to content

Commit 0412a63

Browse files
author
David R. MacIver
committed
flatten Parameters into ConnectionFactory
1 parent 6611dcc commit 0412a63

File tree

11 files changed

+93
-28
lines changed

11 files changed

+93
-28
lines changed

projects/client/RabbitMQ.Client/src/client/api/ConnectionFactory.cs

Lines changed: 81 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ namespace RabbitMQ.Client
7575
/// ConnectionFactory factory = new ConnectionFactory();
7676
/// //
7777
/// // The next three lines are optional:
78-
/// factory.Parameters.UserName = ConnectionParameters.DefaultUser;
79-
/// factory.Parameters.Password = ConnectionParameters.DefaultPass;
80-
/// factory.Parameters.VirtualHost = ConnectionParameters.DefaultVHost;
78+
/// factory.Parameters.UserName = ConnectionFactory.DefaultUser;
79+
/// factory.Parameters.Password = ConnectionFactory.DefaultPass;
80+
/// factory.Parameters.VirtualHost = ConnectionFactory.DefaultVHost;
8181
/// //
8282
/// IProtocol protocol = Protocols.DefaultProtocol;
8383
/// IConnection conn = factory.CreateConnection(protocol, hostName, portNumber);
@@ -103,21 +103,86 @@ namespace RabbitMQ.Client
103103
///</remarks>
104104
public class ConnectionFactory
105105
{
106-
private ConnectionParameters m_parameters = new ConnectionParameters();
107-
///<summary>Retrieve the parameters this factory uses to
108-
///construct IConnection instances.</summary>
109-
public ConnectionParameters Parameters
106+
/// <summary>Default user name (value: "guest")</summary>
107+
public const string DefaultUser = "guest"; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
108+
109+
/// <summary>Default password (value: "guest")</summary>
110+
public const string DefaultPass = "guest"; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
111+
112+
/// <summary>Default virtual host (value: "/")</summary>
113+
public const string DefaultVHost = "/"; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
114+
115+
/// <summary> Default value for the desired maximum channel
116+
/// number, with zero meaning unlimited (value: 0)</summary>
117+
public const ushort DefaultChannelMax = 0; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
118+
119+
/// <summary>Default value for the desired maximum frame size,
120+
/// with zero meaning unlimited (value: 0)</summary>
121+
public const uint DefaultFrameMax = 0; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
122+
123+
/// <summary>Default value for desired heartbeat interval, in
124+
/// seconds, with zero meaning none (value: 0)</summary>
125+
public const ushort DefaultHeartbeat = 0; // PLEASE KEEP THIS MATCHING THE DOC ABOVE
126+
127+
private string m_userName = DefaultUser;
128+
private string m_password = DefaultPass;
129+
private string m_virtualHost = DefaultVHost;
130+
private ushort m_requestedChannelMax = DefaultChannelMax;
131+
private uint m_requestedFrameMax = DefaultFrameMax;
132+
private ushort m_requestedHeartbeat = DefaultHeartbeat;
133+
private SslOption m_ssl = new SslOption();
134+
135+
///<summary>Construct a fresh instance, with all fields set to
136+
///their respective defaults.</summary>
137+
public ConnectionFactory() { }
138+
139+
/// <summary>Username to use when authenticating to the server</summary>
140+
public string UserName
110141
{
111-
get
112-
{
113-
return m_parameters;
114-
}
142+
get { return m_userName; }
143+
set { m_userName = value; }
144+
}
145+
146+
/// <summary>Password to use when authenticating to the server</summary>
147+
public string Password
148+
{
149+
get { return m_password; }
150+
set { m_password = value; }
151+
}
152+
153+
/// <summary>Virtual host to access during this connection</summary>
154+
public string VirtualHost
155+
{
156+
get { return m_virtualHost; }
157+
set { m_virtualHost = value; }
158+
}
159+
160+
/// <summary>Maximum channel number to ask for</summary>
161+
public ushort RequestedChannelMax
162+
{
163+
get { return m_requestedChannelMax; }
164+
set { m_requestedChannelMax = value; }
165+
}
166+
167+
/// <summary>Frame-max parameter to ask for (in bytes)</summary>
168+
public uint RequestedFrameMax
169+
{
170+
get { return m_requestedFrameMax; }
171+
set { m_requestedFrameMax = value; }
172+
}
173+
174+
/// <summary>Heartbeat setting to request (in seconds)</summary>
175+
public ushort RequestedHeartbeat
176+
{
177+
get { return m_requestedHeartbeat; }
178+
set { m_requestedHeartbeat = value; }
115179
}
116180

117-
///<summary>Constructs a ConnectionFactory with default values
118-
///for Parameters.</summary>
119-
public ConnectionFactory()
181+
///<summary>Ssl options setting</summary>
182+
public SslOption Ssl
120183
{
184+
get { return m_ssl; }
185+
set { m_ssl = value; }
121186
}
122187

123188
protected virtual IConnection FollowRedirectChain
@@ -144,7 +209,7 @@ protected virtual IConnection FollowRedirectChain
144209
// and fully open a successful connection,
145210
// in which case we're done, and the
146211
// connection should be returned.
147-
return p.CreateConnection(m_parameters, insist, fh);
212+
return p.CreateConnection(this, insist, fh);
148213
} catch (RedirectException re) {
149214
if (insist) {
150215
// We've been redirected, but we insisted that
@@ -262,7 +327,7 @@ public IConnection CreateConnection(IProtocol version,
262327
return CreateConnection(new AmqpTcpEndpoint(version,
263328
hostName,
264329
portNumber,
265-
m_parameters.Ssl));
330+
this.Ssl));
266331
}
267332

268333
///<summary>Create a connection to the endpoint specified. The

projects/client/RabbitMQ.Client/src/client/api/IConnection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public interface IConnection: IDisposable
105105

106106
///<summary>The connection parameters used during construction
107107
///of this connection.</summary>
108-
ConnectionParameters Parameters { get; }
108+
ConnectionFactory Parameters { get; }
109109

110110
///<summary>The maximum channel number this connection
111111
///supports (0 if unlimited). Usable channel numbers

projects/client/RabbitMQ.Client/src/client/api/IProtocol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public interface IProtocol
7878
///<summary>Construct a connection from a given set of
7979
///parameters and a frame handler. The "insist" parameter is
8080
///passed on to the AMQP connection.open method.</summary>
81-
IConnection CreateConnection(ConnectionParameters parameters,
81+
IConnection CreateConnection(ConnectionFactory parameters,
8282
bool insist,
8383
IFrameHandler frameHandler);
8484
///<summary>Construct a protocol model atop a given session.</summary>

projects/client/RabbitMQ.Client/src/client/impl/AbstractProtocolBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public abstract class AbstractProtocolBase: IProtocol {
6666
public abstract int DefaultPort { get; }
6767

6868
public abstract IFrameHandler CreateFrameHandler(AmqpTcpEndpoint endpoint);
69-
public abstract IConnection CreateConnection(ConnectionParameters parameters,
69+
public abstract IConnection CreateConnection(ConnectionFactory parameters,
7070
bool insist,
7171
IFrameHandler frameHandler);
7272
public abstract IModel CreateModel(ISession session);

projects/client/RabbitMQ.Client/src/client/impl/ConnectionBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public abstract class ConnectionBase : IConnection
8989
///(milliseconds)</summary>
9090
public static int ConnectionCloseTimeout = 10000;
9191

92-
public ConnectionParameters m_parameters;
92+
public ConnectionFactory m_parameters;
9393
public IFrameHandler m_frameHandler;
9494
public uint m_frameMax = 0;
9595
public ushort m_heartbeat = 0;
@@ -119,7 +119,7 @@ public abstract class ConnectionBase : IConnection
119119

120120
public IList m_shutdownReport = ArrayList.Synchronized(new ArrayList());
121121

122-
public ConnectionBase(ConnectionParameters parameters,
122+
public ConnectionBase(ConnectionFactory parameters,
123123
bool insist,
124124
IFrameHandler frameHandler)
125125
{
@@ -214,7 +214,7 @@ public void WriteFrame(Frame f)
214214
m_heartbeatWrite.Set();
215215
}
216216

217-
public ConnectionParameters Parameters
217+
public ConnectionFactory Parameters
218218
{
219219
get
220220
{

projects/client/RabbitMQ.Client/src/client/impl/v0_8/Connection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
namespace RabbitMQ.Client.Framing.Impl.v0_8 {
6161
public class Connection: ConnectionBase {
62-
public Connection(ConnectionParameters parameters, bool insist, IFrameHandler frameHandler)
62+
public Connection(ConnectionFactory parameters, bool insist, IFrameHandler frameHandler)
6363
: base(parameters, insist, frameHandler) {}
6464
}
6565
}

projects/client/RabbitMQ.Client/src/client/impl/v0_8/ProtocolBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public override IModel CreateModel(ISession session) {
6969
return new Model(session);
7070
}
7171

72-
public override IConnection CreateConnection(ConnectionParameters parameters,
72+
public override IConnection CreateConnection(ConnectionFactory parameters,
7373
bool insist,
7474
IFrameHandler frameHandler)
7575
{

projects/client/RabbitMQ.Client/src/client/impl/v0_8qpid/Connection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
namespace RabbitMQ.Client.Framing.Impl.v0_8qpid {
6161
public class Connection: ConnectionBase {
62-
public Connection(ConnectionParameters parameters, bool insist, IFrameHandler frameHandler)
62+
public Connection(ConnectionFactory parameters, bool insist, IFrameHandler frameHandler)
6363
: base(parameters, insist, frameHandler) {}
6464
}
6565
}

projects/client/RabbitMQ.Client/src/client/impl/v0_8qpid/ProtocolBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public override IModel CreateModel(ISession session) {
6969
return new Model(session);
7070
}
7171

72-
public override IConnection CreateConnection(ConnectionParameters parameters,
72+
public override IConnection CreateConnection(ConnectionFactory parameters,
7373
bool insist,
7474
IFrameHandler frameHandler)
7575
{

projects/client/RabbitMQ.Client/src/client/impl/v0_9/Connection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
namespace RabbitMQ.Client.Framing.Impl.v0_9 {
6161
public class Connection: ConnectionBase {
62-
public Connection(ConnectionParameters parameters, bool insist, IFrameHandler frameHandler)
62+
public Connection(ConnectionFactory parameters, bool insist, IFrameHandler frameHandler)
6363
: base(parameters, insist, frameHandler) {}
6464
}
6565
}

0 commit comments

Comments
 (0)