35 #include <sys/socket.h>
36 #include <netinet/in.h>
49 void PostConnect(
void);
53 UseSocket(
int t,
bool c);
54 virtual ~UseSocket(
void);
56 virtual std::ostream& Restart(std::ostream& out)
const;
58 int GetSock(
void)
const;
60 virtual void Connect(
void);
61 virtual void ConnectSock(
int s);
62 bool Create(
void)
const;
63 bool Connected(
void)
const;
65 bool Abandoned(
void)
const;
68 virtual struct sockaddr *GetSockaddr(
void)
const = 0;
70 ssize_t send(
const void *
buf,
size_t len,
int flags);
71 ssize_t recv(
void *
buf,
size_t len,
int flags);
74 class UseInetSocket :
public UseSocket {
77 unsigned short int port;
78 struct sockaddr_in addr;
80 void UseInetSocket_int(
void);
83 UseInetSocket(
const std::string& h,
unsigned short p,
bool c);
84 UseInetSocket(
const std::string& h,
unsigned short p,
int t,
bool c);
85 virtual ~UseInetSocket(
void);
87 std::ostream& Restart(std::ostream& out)
const;
90 void ConnectSock(
int s);
91 struct sockaddr *GetSockaddr(
void)
const;
94 class UseLocalSocket :
public UseSocket {
97 struct sockaddr_un addr;
99 void UseLocalSocket_int(
void);
102 UseLocalSocket(
const std::string& p,
bool c);
103 UseLocalSocket(
const std::string& p,
int t,
bool c);
104 virtual ~UseLocalSocket(
void);
106 std::ostream& Restart(std::ostream& out)
const;
109 void ConnectSock(
int s);
110 struct sockaddr *GetSockaddr(
void)
const;
static std::stack< cleanup * > c
static doublereal buf[BUFSIZE]