#ifndef __pxx_stream_socket_hh__
#define __pxx_stream_socket_hh__

#include "pxx_sock_addr.hh"

namespace pxx
{

class StreamSocket
{

private:

  SockAddr local_addr ;
  int fd ;
  SockAddr* remote_addr ;

  NO_COPY_CTOR(StreamSocket)
  NO_ASSIGN(StreamSocket)

public:

  inline StreamSocket (address_family_t _af, uint16_t _port = 0) ;
  inline ~StreamSocket () ;
  inline void connect (char const* _host, uint16_t _port) ;
  inline int get_fd () const ;

};

}

#endif // __pxx_stream_socket_hh__

