#ifndef MSP_NET_STREAMSOCKET_H_
#define MSP_NET_STREAMSOCKET_H_
-#include "socket.h"
+#include "clientsocket.h"
namespace Msp {
namespace Net {
-class StreamSocket: public Socket
+class StreamSocket: public ClientSocket
{
- friend class StreamListenSocket;
-private:
- bool connecting;
+ friend class StreamServerSocket;
public:
/** Emitted when the socket finishes connecting. The argument is a
private:
/// Used by StreamListenSocket to construct a new socket from accept.
- StreamSocket(SocketHandle, const SockAddr &);
+ StreamSocket(const Private &, const SockAddr &);
public:
StreamSocket(Family, int = 0);
If the socket is non-blocking, this function may return before the
connection is fully established. The caller must then use either the
poll_connect function or an EventDispatcher to finish the process. */
- virtual int connect(const SockAddr &);
-
- bool is_connecting() const { return connecting; }
+ virtual bool connect(const SockAddr &);
- /** Checks the status of a connection being established. Returns 0 if the
- connection was established successfully, 1 if it's still in progress. If
- the attempt finished due to an error, an exception is thrown. */
- int poll_connect(const Time::TimeDelta &);
+ virtual bool poll_connect(const Time::TimeDelta &);
private:
void on_event(IO::PollEvent);