summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionI.h')
-rw-r--r--cpp/src/Ice/ConnectionI.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index 72652518b94..7fb3781e880 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -157,12 +157,12 @@ public:
void activate();
void hold();
void destroy(DestructionReason);
- virtual void close(bool); // From Connection.
+ virtual void close(ConnectionClose); // From Connection.
bool isActiveOrHolding() const;
bool isFinished() const;
- void throwException() const; // Throws the connection exception if destroyed.
+ virtual void throwException() const; // From Connection. Throws the connection exception if destroyed.
void waitUntilHolding() const;
void waitUntilFinished(); // Not const, as this might close the connection upon timeout.
@@ -193,6 +193,19 @@ public:
virtual void setCloseCallback(ICE_IN(ICE_CLOSE_CALLBACK));
virtual void setHeartbeatCallback(ICE_IN(ICE_HEARTBEAT_CALLBACK));
+ virtual void heartbeat();
+
+#ifdef ICE_CPP11_MAPPING
+ virtual std::function<void()>
+ heartbeatAsync(::std::function<void(::std::exception_ptr)>, ::std::function<void(bool)> = nullptr);
+#else
+ virtual AsyncResultPtr begin_heartbeat();
+ virtual AsyncResultPtr begin_heartbeat(const CallbackPtr&, const LocalObjectPtr& = 0);
+ virtual AsyncResultPtr begin_heartbeat(const Callback_Connection_heartbeatPtr&, const LocalObjectPtr& = 0);
+
+ virtual void end_heartbeat(const AsyncResultPtr&);
+#endif
+
virtual void setACM(const IceUtil::Optional<int>&,
const IceUtil::Optional<ACMClose>&,
const IceUtil::Optional<ACMHeartbeat>&);
@@ -276,7 +289,7 @@ private:
void setState(State);
void initiateShutdown();
- void heartbeat();
+ void sendHeartbeatNow();
bool initialize(IceInternal::SocketOperation = IceInternal::SocketOperationNone);
bool validate(IceInternal::SocketOperation = IceInternal::SocketOperationNone);
@@ -308,6 +321,7 @@ private:
#ifndef ICE_CPP11_MAPPING
AsyncResultPtr _iceI_begin_flushBatchRequests(const IceInternal::CallbackBasePtr&, const LocalObjectPtr&);
+ AsyncResultPtr _iceI_begin_heartbeat(const IceInternal::CallbackBasePtr&, const LocalObjectPtr&);
#endif
Ice::CommunicatorPtr _communicator;