event/SocketMonitor: add methods Read(), Write()

This commit is contained in:
Max Kellermann
2013-01-30 10:39:17 +01:00
parent fe3f0332f7
commit 73f36858bb
4 changed files with 43 additions and 27 deletions
+8
View File
@@ -24,7 +24,10 @@
#include <glib.h>
#include <type_traits>
#include <assert.h>
#include <stddef.h>
#ifdef WIN32
/* ERRORis a WIN32 macro that poisons our namespace; this is a
@@ -54,6 +57,8 @@ public:
static constexpr unsigned ERROR = G_IO_ERR;
static constexpr unsigned HANGUP = G_IO_HUP;
typedef std::make_signed<size_t>::type ssize_t;
SocketMonitor(EventLoop &_loop)
:fd(-1), loop(_loop), source(nullptr) {}
@@ -106,6 +111,9 @@ public:
poll.events &= ~WRITE;
}
ssize_t Read(void *data, size_t length);
ssize_t Write(const void *data, size_t length);
protected:
virtual void OnSocketReady(unsigned flags) = 0;