summaryrefslogtreecommitdiff
path: root/src/SocketCore.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/SocketCore.h')
-rw-r--r--src/SocketCore.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/SocketCore.h b/src/SocketCore.h
index ba5fb7af..a6b7d3f8 100644
--- a/src/SocketCore.h
+++ b/src/SocketCore.h
@@ -23,6 +23,7 @@
#define _D_SOCKET_CORE_H_
#include <string>
+#include <utility>
#include "common.h"
#ifdef HAVE_LIBSSL
@@ -45,50 +46,55 @@ private:
SSL_CTX* sslCtx;
SSL* ssl;
#endif // HAVE_LIBSSL
+ void init();
+ SocketCore(int sockfd);
public:
SocketCore();
~SocketCore();
+ void beginListen();
+ void getAddrInfo(pair<string, int>& addrinfo) const;
+ SocketCore* acceptConnection() const;
/**
* Connects to the server named host and the destination port is port.
* This method make socket non-blocking mode.
- * To make the socket blocking mode, call setNonBlockingMode() after
+ * To make the socket blocking mode, call setBlockingMode() after
* the connection is established.
*/
void establishConnection(string host, int port);
- void setNonBlockingMode();
+ void setBlockingMode() const;
// Closes the connection which this socket object has
void closeConnection();
// examines whether the socket of this SocketCore object is available for writing.
// returns true if the socket is available for writing, otherwise returns false.
- bool isWritable(int timeout);
+ bool isWritable(int timeout) const;
// examines whether the socket of this SocketCore object is available for reading.
// returns true if the socket is available for reading, otherwise returns false.
- bool isReadable(int timeout);
+ bool isReadable(int timeout) const;
// writes characters into the socket. data is a pointer pointing the first
// byte of the data and len is the length of the data.
- void writeData(const char* data, int len, int timeout = 5);
+ void writeData(const char* data, int len, int timeout = 5) const;
// Reads up to len bytes from this socket.
// data is a pointer pointing the first
// byte of the data, which must be allocated before this method is called.
// len is the size of the allocated memory. When this method returns
// successfully, len is replaced by the size of the read data.
- void readData(char* data, int& len, int timeout = 5);
+ void readData(char* data, int& len, int timeout = 5) const;
// Reads up to len bytes from this socket, but bytes are not removed from
// this socket.
- void peekData(char* data, int& len, int timeout = 5);
+ void peekData(char* data, int& len, int timeout = 5) const;
/**
* Makes this socket secure.
* If the system has not OpenSSL, then this method do nothing.
*/
- void initiateSecureConnection();
+ void initiateSecureConnection() ;
};
#endif // _D_SOCKET_CORE_H_