-
Notifications
You must be signed in to change notification settings - Fork 140
/
ConnectionFactoryBase.cs
79 lines (72 loc) · 2.49 KB
/
ConnectionFactoryBase.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// ------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation
// All rights reserved.
//
// Licensed 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
//
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR
// NON-INFRINGEMENT.
//
// See the Apache Version 2.0 License for specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------------------
namespace Amqp
{
using System;
using System.Diagnostics;
/// <summary>
/// The base class of connection factories.
/// </summary>
public class ConnectionFactoryBase
{
internal TcpSettings tcpSettings;
internal AmqpSettings amqpSettings;
/// <summary>
/// Constructor to create a connection factory.
/// </summary>
protected ConnectionFactoryBase()
{
this.tcpSettings = new TcpSettings()
{
NoDelay = true
};
this.amqpSettings = new AmqpSettings()
{
MaxFrameSize = (int)Connection.DefaultMaxFrameSize,
ContainerId = Connection.MakeAmqpContainerId(),
IdleTimeout = int.MaxValue,
MaxSessionsPerConnection = Connection.DefaultMaxSessions,
MaxLinksPerSession = Connection.DefaultMaxLinksPerSession
};
}
/// <summary>
/// Gets or sets a buffer manager used by the connection factory.
/// </summary>
public IBufferManager BufferManager
{
get;
set;
}
/// <summary>
/// Gets the TCP settings on the factory.
/// </summary>
public TcpSettings TCP
{
get
{
return this.tcpSettings ?? (this.tcpSettings = new TcpSettings());
}
}
/// <summary>
/// Gets the AMQP settings on the factory.
/// </summary>
public AmqpSettings AMQP
{
get { return this.amqpSettings; }
}
}
}