blob: 5e93b3103e558ca16064e1c55fee78bc7a3ab69f (
plain)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
#ifndef QPID_CLIENT_CONNECTIONSETTINGS_H
#define QPID_CLIENT_CONNECTIONSETTINGS_H
/*
*
* 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.
*
*/
#include "qpid/Options.h"
#include "qpid/log/Options.h"
#include "qpid/Url.h"
#include <iostream>
#include <exception>
namespace qpid {
namespace sys {
class Socket;
}
namespace client {
/**
* Settings for a Connection.
*/
struct ConnectionSettings {
ConnectionSettings();
virtual ~ConnectionSettings();
/**
* Allows socket to be configured; default only sets tcp-nodelay
* based on the flag set. Can be overridden.
*/
virtual void configureSocket(qpid::sys::Socket&) const;
/**
* The host (or ip address) to connect to (defaults to 'localhost').
*/
std::string host;
/**
* The port to connect to (defaults to 5672).
*/
uint16_t port;
/**
* Allows an AMQP 'virtual host' to be specified for the
* connection.
*/
std::string virtualhost;
/**
* The username to use when authenticating the connection.
*/
std::string username;
/**
* The password to use when authenticating the connection.
*/
std::string password;
/**
* The SASL mechanism to use when authenticating the connection;
* the options are currently PLAIN or ANONYMOUS.
*/
std::string mechanism;
/**
* Allows a locale to be specified for the connection.
*/
std::string locale;
/**
* Allows a heartbeat frequency to be specified (this feature is
* not yet implemented).
*/
uint16_t heartbeat;
/**
* The maximum number of channels that the client will request for
* use on this connection.
*/
uint16_t maxChannels;
/**
* The maximum frame size that the client will request for this
* connection.
*/
uint16_t maxFrameSize;
/**
* Allows the size of outgoing frames to be limited. The value
* should be a mutliple of the maximum buffer size in use (which
* is in turn set through the maxFrameSize setting above).
*/
uint bounds;
/**
* If true, TCP_NODELAY will be set for the connection.
*/
bool tcpNoDelay;
};
}} // namespace qpid::client
#endif /*!QPID_CLIENT_CONNECTIONSETTINGS_H*/
|