summaryrefslogtreecommitdiff
path: root/control/IpcConnection.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-18 10:01:30 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-18 10:01:30 -0700
commit470823104613fdb8abd8a2ebae6a5c8d7a5679d2 (patch)
treeccedc83e1e855a8af348514fae4655b875c24823 /control/IpcConnection.hpp
parent924f03099412f989ee99a117239f8e326a1c3d00 (diff)
downloadinfinitytier-470823104613fdb8abd8a2ebae6a5c8d7a5679d2.tar.gz
infinitytier-470823104613fdb8abd8a2ebae6a5c8d7a5679d2.zip
Fix for GitHub issue #122 and other fixes
Diffstat (limited to 'control/IpcConnection.hpp')
-rw-r--r--control/IpcConnection.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/control/IpcConnection.hpp b/control/IpcConnection.hpp
index 20c5dcf0..5bbc683e 100644
--- a/control/IpcConnection.hpp
+++ b/control/IpcConnection.hpp
@@ -61,11 +61,12 @@ public:
* Connect to an IPC endpoint
*
* @param endpoint Endpoint path
+ * @param timeout Inactivity timeout in seconds
* @param commandHandler Command handler function
* @param arg First argument to command handler
* @throws std::runtime_error Unable to connect
*/
- IpcConnection(const char *endpoint,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
+ IpcConnection(const char *endpoint,unsigned int timeout,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
~IpcConnection();
/**
@@ -80,13 +81,14 @@ public:
private:
// Used by IpcListener to construct incoming connections
#ifdef __WINDOWS__
- IpcConnection(HANDLE s,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
+ IpcConnection(HANDLE s,unsigned int timeout,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
#else
- IpcConnection(int s,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
+ IpcConnection(int s,unsigned int timeout,void (*commandHandler)(void *,IpcConnection *,IpcConnection::EventType,const char *),void *arg);
#endif
void (*_handler)(void *,IpcConnection *,IpcConnection::EventType,const char *);
void *_arg;
+ unsigned int _timeout;
#ifdef __WINDOWS__
HANDLE _sock;
std::string _writeBuf;