16#ifndef __Ice_Connection_h__
17#define __Ice_Connection_h__
35#ifndef ICE_IGNORE_VERSION
36# if ICE_INT_VERSION / 100 != 307
37# error Ice version mismatch!
39# if ICE_INT_VERSION % 100 >= 50
40# error Beta header file detected
42# if ICE_INT_VERSION % 100 < 11
43# error Ice patch level mismatch!
48# if defined(ICE_STATIC_LIBS)
50# elif defined(ICE_API_EXPORTS)
51# define ICE_API ICE_DECLSPEC_EXPORT
53# define ICE_API ICE_DECLSPEC_IMPORT
57#ifdef ICE_CPP11_MAPPING
169 std::tuple<const int&, const ::Ice::ACMClose&, const ::Ice::ACMHeartbeat&>
ice_tuple()
const
202using Ice::operator<=;
204using Ice::operator>=;
205using Ice::operator==;
206using Ice::operator!=;
271using CloseCallback = ::std::function<void(const ::std::shared_ptr<Connection>& con)>;
327 virtual void setAdapter(const ::std::shared_ptr<ObjectAdapter>& adapter) = 0;
336 virtual ::std::shared_ptr<::Ice::ObjectAdapter>
getAdapter() const noexcept = 0;
366 virtual ::std::function<void()>
368 ::std::function<
void(::std::exception_ptr)> exception,
369 ::std::function<
void(
bool)> sent =
nullptr) = 0;
379 template<
template<
typename>
class P = ::std::promise>
381 ->
decltype(::std::declval<P<void>>().get_future())
383 using Promise = P<void>;
384 auto promise = ::std::make_shared<Promise>();
386 [promise](::std::exception_ptr ex)
388 promise->set_exception(::std::move(ex));
392 promise->set_value();
394 return promise->get_future();
428 virtual ::std::function<void()>
430 ::std::function<
void(
bool)> sent =
nullptr) = 0;
436 template<
template<
typename>
class P = ::std::promise>
438 ->
decltype(::std::declval<P<void>>().get_future())
440 using Promise = P<void>;
441 auto promise = ::std::make_shared<Promise>();
444 promise->set_exception(::std::move(ex));
448 promise->set_value();
450 return promise->get_future();
465 virtual ::Ice::ACM
getACM() noexcept = 0;
472 virtual ::std::
string type() const noexcept = 0;
486 virtual ::std::
string toString() const noexcept = 0;
660 UDPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>&
underlying,
bool incoming, const ::std::string&
adapterName, const ::std::string&
connectionId, const ::std::string&
localAddress,
int localPort, const ::std::string&
remoteAddress,
int remotePort, const ::std::string&
mcastAddress,
int mcastPort,
int rcvSize,
int sndSize) :
737using ConnectionInfoPtr = ::std::shared_ptr<ConnectionInfo>;
739using ConnectionPtr = ::std::shared_ptr<Connection>;
741using IPConnectionInfoPtr = ::std::shared_ptr<IPConnectionInfo>;
743using TCPConnectionInfoPtr = ::std::shared_ptr<TCPConnectionInfo>;
745using UDPConnectionInfoPtr = ::std::shared_ptr<UDPConnectionInfo>;
747using WSConnectionInfoPtr = ::std::shared_ptr<WSConnectionInfo>;
759ICE_API LocalObject* upCast(ConnectionInfo*);
761typedef ::IceInternal::Handle< ConnectionInfo> ConnectionInfoPtr;
765ICE_API LocalObject* upCast(Connection*);
767typedef ::IceInternal::Handle< Connection> ConnectionPtr;
771ICE_API LocalObject* upCast(CloseCallback*);
773typedef ::IceInternal::Handle< CloseCallback> CloseCallbackPtr;
777ICE_API LocalObject* upCast(HeartbeatCallback*);
779typedef ::IceInternal::Handle< HeartbeatCallback> HeartbeatCallbackPtr;
781class IPConnectionInfo;
783ICE_API LocalObject* upCast(IPConnectionInfo*);
785typedef ::IceInternal::Handle< IPConnectionInfo> IPConnectionInfoPtr;
787class TCPConnectionInfo;
789ICE_API LocalObject* upCast(TCPConnectionInfo*);
791typedef ::IceInternal::Handle< TCPConnectionInfo> TCPConnectionInfoPtr;
793class UDPConnectionInfo;
795ICE_API LocalObject* upCast(UDPConnectionInfo*);
797typedef ::IceInternal::Handle< UDPConnectionInfo> UDPConnectionInfoPtr;
799class WSConnectionInfo;
801ICE_API LocalObject* upCast(WSConnectionInfo*);
803typedef ::IceInternal::Handle< WSConnectionInfo> WSConnectionInfoPtr;
827 CompressBatchBasedOnProxy
907 if(timeout != rhs_.timeout)
911 if(close != rhs_.close)
915 if(heartbeat != rhs_.heartbeat)
928 if(timeout < rhs_.timeout)
932 else if(rhs_.timeout < timeout)
936 if(close < rhs_.close)
940 else if(rhs_.close < close)
944 if(heartbeat < rhs_.heartbeat)
948 else if(rhs_.heartbeat < heartbeat)
982 ConnectionCloseForcefully,
987 ConnectionCloseGracefully,
991 ConnectionCloseGracefullyWithWait
997typedef ::std::map< ::std::string, ::std::string>
HeaderDict;
1009class Callback_Connection_flushBatchRequests_Base :
public virtual ::IceInternal::CallbackBase { };
1010typedef ::IceUtil::Handle< Callback_Connection_flushBatchRequests_Base> Callback_Connection_flushBatchRequestsPtr;
1017class Callback_Connection_heartbeat_Base :
public virtual ::IceInternal::CallbackBase { };
1018typedef ::IceUtil::Handle< Callback_Connection_heartbeat_Base> Callback_Connection_heartbeatPtr;
1029class ICE_API ConnectionInfo :
public virtual LocalObject
1033 typedef ConnectionInfoPtr PointerType;
1035 virtual ~ConnectionInfo();
1048 ConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying,
bool incoming, const ::std::string& adapterName, const ::std::string& connectionId) :
1049 underlying(underlying),
1051 adapterName(adapterName),
1052 connectionId(connectionId)
1056#ifdef ICE_CPP11_COMPILER
1057 ConnectionInfo(
const ConnectionInfo&) =
default;
1058 ConnectionInfo& operator=(
const ConnectionInfo&) =
default;
1065 ::Ice::ConnectionInfoPtr underlying;
1074 ::std::string adapterName;
1078 ::std::string connectionId;
1082inline bool operator==(
const ConnectionInfo& lhs,
const ConnectionInfo& rhs)
1084 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1087inline bool operator<(
const ConnectionInfo& lhs,
const ConnectionInfo& rhs)
1089 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1103 typedef CloseCallbackPtr PointerType;
1105 virtual ~CloseCallback();
1107#ifdef ICE_CPP11_COMPILER
1119 virtual void closed(
const ConnectionPtr& con) = 0;
1123inline bool operator==(
const CloseCallback& lhs,
const CloseCallback& rhs)
1125 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1128inline bool operator<(
const CloseCallback& lhs,
const CloseCallback& rhs)
1130 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1144 typedef HeartbeatCallbackPtr PointerType;
1146 virtual ~HeartbeatCallback();
1148#ifdef ICE_CPP11_COMPILER
1159 virtual void heartbeat(
const ConnectionPtr& con) = 0;
1163inline bool operator==(
const HeartbeatCallback& lhs,
const HeartbeatCallback& rhs)
1165 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1168inline bool operator<(
const HeartbeatCallback& lhs,
const HeartbeatCallback& rhs)
1170 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1178class ICE_API Connection :
public virtual LocalObject
1182 typedef ConnectionPtr PointerType;
1184 virtual ~Connection();
1186#ifdef ICE_CPP11_COMPILER
1187 Connection() =
default;
1188 Connection(
const Connection&) =
default;
1189 Connection& operator=(
const Connection&) =
default;
1197 virtual void close(ConnectionClose mode)
ICE_NOEXCEPT = 0;
1211 virtual ObjectPrx createProxy(
const Identity&
id)
const = 0;
1229 virtual void setAdapter(
const ObjectAdapterPtr& adapter) = 0;
1238 virtual ObjectAdapterPtr getAdapter() const
ICE_NOEXCEPT = 0;
1244 virtual EndpointPtr getEndpoint() const
ICE_NOEXCEPT = 0;
1253 virtual
void flushBatchRequests(CompressBatch compress) = 0;
1263 virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress) = 0;
1275 virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress, const CallbackPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1287 virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress, const Callback_Connection_flushBatchRequestsPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1295 virtual
void end_flushBatchRequests(const AsyncResultPtr& result) = 0;
1304 virtual
void setCloseCallback(const CloseCallbackPtr& callback) = 0;
1312 virtual
void setHeartbeatCallback(const HeartbeatCallbackPtr& callback) = 0;
1317 virtual
void heartbeat() = 0;
1323 virtual AsyncResultPtr begin_heartbeat() = 0;
1331 virtual AsyncResultPtr begin_heartbeat(const CallbackPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1339 virtual AsyncResultPtr begin_heartbeat(const Callback_Connection_heartbeatPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1345 virtual
void end_heartbeat(const AsyncResultPtr& result) = 0;
1353 virtual
void setACM(const IceUtil::Optional<Int>& timeout, const IceUtil::Optional<ACMClose>& close, const IceUtil::Optional<ACMHeartbeat>& heartbeat) = 0;
1380 virtual ::std::
string toString() const
ICE_NOEXCEPT = 0;
1386 virtual ConnectionInfoPtr getInfo() const = 0;
1393 virtual
void setBufferSize(Int rcvSize, Int sndSize) = 0;
1402 virtual
void throwException() const = 0;
1406inline
bool operator==(const Connection& lhs, const Connection& rhs)
1408 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1411inline bool operator<(
const Connection& lhs,
const Connection& rhs)
1413 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1421class ICE_API IPConnectionInfo :
public ConnectionInfo
1425 typedef IPConnectionInfoPtr PointerType;
1427 virtual ~IPConnectionInfo();
1430 IPConnectionInfo() :
1449 IPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying,
bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress,
::Ice::Int localPort, const ::std::string& remoteAddress,
::Ice::Int remotePort) :
1450 ::Ice::ConnectionInfo(underlying, incoming, adapterName, connectionId),
1451 localAddress(localAddress),
1452 localPort(localPort),
1453 remoteAddress(remoteAddress),
1454 remotePort(remotePort)
1458#ifdef ICE_CPP11_COMPILER
1459 IPConnectionInfo(
const IPConnectionInfo&) =
default;
1460 IPConnectionInfo& operator=(
const IPConnectionInfo&) =
default;
1466 ::std::string localAddress;
1474 ::std::string remoteAddress;
1482inline bool operator==(
const IPConnectionInfo& lhs,
const IPConnectionInfo& rhs)
1484 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1487inline bool operator<(
const IPConnectionInfo& lhs,
const IPConnectionInfo& rhs)
1489 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1497class ICE_API TCPConnectionInfo :
public IPConnectionInfo
1501 typedef TCPConnectionInfoPtr PointerType;
1503 virtual ~TCPConnectionInfo();
1506 TCPConnectionInfo() :
1525 TCPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying,
bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress,
::Ice::Int localPort, const ::std::string& remoteAddress,
::Ice::Int remotePort,
::Ice::Int rcvSize,
::Ice::Int sndSize) :
1526 ::Ice::IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
1532#ifdef ICE_CPP11_COMPILER
1533 TCPConnectionInfo(
const TCPConnectionInfo&) =
default;
1534 TCPConnectionInfo& operator=(
const TCPConnectionInfo&) =
default;
1548inline bool operator==(
const TCPConnectionInfo& lhs,
const TCPConnectionInfo& rhs)
1550 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1553inline bool operator<(
const TCPConnectionInfo& lhs,
const TCPConnectionInfo& rhs)
1555 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1563class ICE_API UDPConnectionInfo :
public IPConnectionInfo
1567 typedef UDPConnectionInfoPtr PointerType;
1569 virtual ~UDPConnectionInfo();
1572 UDPConnectionInfo() :
1594 UDPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying,
bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress,
::Ice::Int localPort, const ::std::string& remoteAddress,
::Ice::Int remotePort, const ::std::string& mcastAddress,
::Ice::Int mcastPort,
::Ice::Int rcvSize,
::Ice::Int sndSize) :
1595 ::Ice::IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
1596 mcastAddress(mcastAddress),
1597 mcastPort(mcastPort),
1603#ifdef ICE_CPP11_COMPILER
1604 UDPConnectionInfo(
const UDPConnectionInfo&) =
default;
1605 UDPConnectionInfo& operator=(
const UDPConnectionInfo&) =
default;
1611 ::std::string mcastAddress;
1627inline bool operator==(
const UDPConnectionInfo& lhs,
const UDPConnectionInfo& rhs)
1629 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1632inline bool operator<(
const UDPConnectionInfo& lhs,
const UDPConnectionInfo& rhs)
1634 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
1642class ICE_API WSConnectionInfo :
public ConnectionInfo
1646 typedef WSConnectionInfoPtr PointerType;
1648 virtual ~WSConnectionInfo();
1662 WSConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying,
bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::Ice::HeaderDict& headers) :
1663 ::Ice::ConnectionInfo(underlying, incoming, adapterName, connectionId),
1668#ifdef ICE_CPP11_COMPILER
1669 WSConnectionInfo(
const WSConnectionInfo&) =
default;
1670 WSConnectionInfo& operator=(
const WSConnectionInfo&) =
default;
1680inline bool operator==(
const WSConnectionInfo& lhs,
const WSConnectionInfo& rhs)
1682 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
1685inline bool operator<(
const WSConnectionInfo& lhs,
const WSConnectionInfo& rhs)
1687 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
#define ICE_CLASS(API)
Definition Config.h:176
Base class providing access to the connection details.
Definition Connection.h:218
ConnectionInfo & operator=(ConnectionInfo &&)=default
ConnectionInfo(const ConnectionInfo &)=default
ConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo > &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId)
One-shot constructor to initialize all data members.
Definition Connection.h:237
ConnectionInfo & operator=(const ConnectionInfo &)=default
ConnectionInfo(ConnectionInfo &&)=default
::std::string adapterName
The name of the adapter associated with the connection.
Definition Connection.h:258
::std::string connectionId
The connection id.
Definition Connection.h:262
::std::shared_ptr<::Ice::ConnectionInfo > underlying
The information of the underyling transport or null if there's no underlying transport.
Definition Connection.h:249
virtual ~ConnectionInfo()
bool incoming
Whether or not the connection is an incoming or outgoing connection.
Definition Connection.h:254
The user-level interface to a connection.
Definition Connection.h:285
auto heartbeatAsync() -> decltype(::std::declval< P< void > >().get_future())
Send a heartbeat message.
Definition Connection.h:437
virtual void setAdapter(const ::std::shared_ptr< ObjectAdapter > &adapter)=0
Explicitly set an object adapter that dispatches requests that are received over this connection.
virtual void close(ConnectionClose mode) noexcept=0
Manually close the connection using the specified closure mode.
virtual ::std::function< void()> flushBatchRequestsAsync(CompressBatch compress, ::std::function< void(::std::exception_ptr)> exception, ::std::function< void(bool)> sent=nullptr)=0
Flush any pending batch requests for this connection.
virtual::std::string type() const noexcept=0
Return the connection type.
virtual void setBufferSize(int rcvSize, int sndSize)=0
Set the connection buffer receive/send size.
virtual void setCloseCallback(CloseCallback callback)=0
Set a close callback on the connection.
virtual ::std::shared_ptr<::Ice::ObjectAdapter > getAdapter() const noexcept=0
Get the object adapter that dispatches requests for this connection.
virtual::std::string toString() const noexcept=0
Return a description of the connection as human readable text, suitable for logging or error messages...
virtual void heartbeat()
Send a heartbeat message.
Definition Connection.h:417
virtual void setHeartbeatCallback(HeartbeatCallback callback)=0
Set a heartbeat callback on the connection.
virtual ::std::shared_ptr<::Ice::ConnectionInfo > getInfo() const =0
Returns the connection information.
virtual int timeout() const noexcept=0
Get the timeout for the connection.
virtual ::std::shared_ptr<::Ice::ObjectPrx > createProxy(const Identity &id) const =0
Create a special proxy that always uses this connection.
virtual void setACM(const Ice::optional< int > &timeout, const Ice::optional< ACMClose > &close, const Ice::optional< ACMHeartbeat > &heartbeat)=0
Set the active connection management parameters.
virtual::Ice::ACM getACM() noexcept=0
Get the ACM parameters.
virtual void flushBatchRequests(CompressBatch compress)
Flush any pending batch requests for this connection.
Definition Connection.h:351
virtual void throwException() const =0
Throw an exception indicating the reason for connection closure.
virtual ::std::function< void()> heartbeatAsync(::std::function< void(::std::exception_ptr)> exception, ::std::function< void(bool)> sent=nullptr)=0
Send a heartbeat message.
virtual ::std::shared_ptr<::Ice::Endpoint > getEndpoint() const noexcept=0
Get the endpoint from which the connection was created.
auto flushBatchRequestsAsync(CompressBatch compress) -> decltype(::std::declval< P< void > >().get_future())
Flush any pending batch requests for this connection.
Definition Connection.h:380
The user-level interface to an endpoint.
Definition Endpoint.h:194
Provides access to the connection details of an IP connection.
Definition Connection.h:516
IPConnectionInfo & operator=(const IPConnectionInfo &)=default
int remotePort
The remote port.
Definition Connection.h:569
IPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo > &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, int localPort, const ::std::string &remoteAddress, int remotePort)
One-shot constructor to initialize all data members.
Definition Connection.h:545
virtual ~IPConnectionInfo()
IPConnectionInfo(const IPConnectionInfo &)=default
::std::string remoteAddress
The remote address.
Definition Connection.h:565
IPConnectionInfo & operator=(IPConnectionInfo &&)=default
IPConnectionInfo()
Definition Connection.h:521
IPConnectionInfo(IPConnectionInfo &&)=default
int localPort
The local port.
Definition Connection.h:561
::std::string localAddress
The local address.
Definition Connection.h:557
Provides access to the connection details of a TCP connection.
Definition Connection.h:577
TCPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo > &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, int localPort, const ::std::string &remoteAddress, int remotePort, int rcvSize, int sndSize)
One-shot constructor to initialize all data members.
Definition Connection.h:606
TCPConnectionInfo(const TCPConnectionInfo &)=default
virtual ~TCPConnectionInfo()
int rcvSize
The connection buffer receive size.
Definition Connection.h:616
int sndSize
The connection buffer send size.
Definition Connection.h:620
TCPConnectionInfo & operator=(const TCPConnectionInfo &)=default
TCPConnectionInfo(TCPConnectionInfo &&)=default
TCPConnectionInfo & operator=(TCPConnectionInfo &&)=default
TCPConnectionInfo()
Definition Connection.h:582
Provides access to the connection details of a UDP connection.
Definition Connection.h:628
::std::string mcastAddress
The multicast address.
Definition Connection.h:672
int rcvSize
The connection buffer receive size.
Definition Connection.h:680
UDPConnectionInfo(UDPConnectionInfo &&)=default
UDPConnectionInfo(const UDPConnectionInfo &)=default
UDPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo > &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, int localPort, const ::std::string &remoteAddress, int remotePort, const ::std::string &mcastAddress, int mcastPort, int rcvSize, int sndSize)
One-shot constructor to initialize all data members.
Definition Connection.h:660
virtual ~UDPConnectionInfo()
int sndSize
The connection buffer send size.
Definition Connection.h:684
int mcastPort
The multicast port.
Definition Connection.h:676
UDPConnectionInfo & operator=(UDPConnectionInfo &&)=default
UDPConnectionInfo & operator=(const UDPConnectionInfo &)=default
UDPConnectionInfo()
Definition Connection.h:633
Provides access to the connection details of a WebSocket connection.
Definition Connection.h:692
WSConnectionInfo()=default
WSConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo > &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::Ice::HeaderDict &headers)
One-shot constructor to initialize all data members.
Definition Connection.h:712
::Ice::HeaderDict headers
The headers from the HTTP upgrade request.
Definition Connection.h:721
WSConnectionInfo & operator=(const WSConnectionInfo &)=default
WSConnectionInfo(WSConnectionInfo &&)=default
WSConnectionInfo(const WSConnectionInfo &)=default
WSConnectionInfo & operator=(WSConnectionInfo &&)=default
virtual ~WSConnectionInfo()
Definition BuiltinSequences.h:56
CompressBatch
The batch compression option when flushing queued batch requests.
Definition Connection.h:78
@ BasedOnProxy
Compress the batch requests if at least one request was made on a compressed proxy.
Definition Connection.h:91
@ Yes
Compress the batch requests.
Definition Connection.h:82
@ No
Don't compress the batch requests.
Definition Connection.h:86
int Int
The mapping for the Slice int type.
Definition Config.h:54
ACMHeartbeat
Specifies the heartbeat semantics for Active Connection Management.
Definition Connection.h:127
@ HeartbeatOnIdle
Send a heartbeat at regular intervals when the connection is idle.
Definition Connection.h:139
@ HeartbeatOff
Disables heartbeats.
Definition Connection.h:131
@ HeartbeatAlways
Send a heartbeat at regular intervals until the connection is closed.
Definition Connection.h:143
@ HeartbeatOnDispatch
Send a heartbeat at regular intervals if the connection is idle and only if there are pending dispatc...
Definition Connection.h:135
bool operator>(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:160
::std::function< void(const ::std::shared_ptr< Connection > &con)> CloseCallback
This method is called by the connection when the connection is closed.
Definition Connection.h:271
std::experimental::Ice::optional< T > optional
Ice::optional is a placeholder for std::optional.
Definition Optional.h:1065
::std::function< void(const ::std::shared_ptr< Connection > &con)> HeartbeatCallback
This method is called by the connection when a heartbeat is received from the peer.
Definition Connection.h:278
ConnectionClose
Determines the behavior when manually closing a connection.
Definition Connection.h:179
@ GracefullyWithWait
Wait for all pending invocations to complete before closing the connection.
Definition Connection.h:193
@ Forcefully
Close the connection immediately without sending a close connection protocol message to the peer and ...
Definition Connection.h:184
@ Gracefully
Close the connection by notifying the peer but do not wait for pending outgoing invocations to comple...
Definition Connection.h:189
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool operator<=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:148
bool operator>=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:172
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184
bool operator!=(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:196
::std::map<::std::string, ::std::string > HeaderDict
A collection of HTTP headers.
Definition Connection.h:199
ACMClose
Specifies the close semantics for Active Connection Management.
Definition Connection.h:98
@ CloseOnIdleForceful
Forcefully closes a connection that has been idle for the configured timeout period,...
Definition Connection.h:120
@ CloseOnInvocationAndIdle
Combines the behaviors of CloseOnIdle and CloseOnInvocation.
Definition Connection.h:115
@ CloseOnIdle
Gracefully closes a connection that has been idle for the configured timeout period.
Definition Connection.h:106
@ CloseOnInvocation
Forcefully closes a connection that has been idle for the configured timeout period,...
Definition Connection.h:111
@ CloseOff
Disables automatic connection closure.
Definition Connection.h:102
A collection of Active Connection Management configuration settings.
Definition Connection.h:151
int timeout
A timeout value in seconds.
Definition Connection.h:155
::Ice::ACMClose close
The close semantics.
Definition Connection.h:159
std::tuple< const int &, const ::Ice::ACMClose &, const ::Ice::ACMHeartbeat & > ice_tuple() const
Obtains a tuple containing all of the struct's data members.
Definition Connection.h:169
::Ice::ACMHeartbeat heartbeat
The heartbeat semantics.
Definition Connection.h:163
The identity of an Ice object.
Definition Identity.h:67