21 typedef wv::function<void()> IWvStreamCallback;
22 typedef unsigned int WSID;
35 bool readable, writable, isexception;
39 { readable = r; writable = w; isexception = x; }
42 { readable |= r.readable; writable |= r.writable;
43 isexception |= r.isexception;
return *
this; }
51 fd_set read, write, except;
61 virtual void close() = 0;
62 virtual bool isok()
const = 0;
63 virtual void callback() = 0;
66 virtual int getrfd()
const = 0;
67 virtual int getwfd()
const = 0;
70 virtual const WvAddr *src()
const = 0;
79 virtual size_t read(
void *buf,
size_t count) = 0;
80 virtual size_t write(
const void *buf,
size_t count) = 0;
85 virtual size_t read(
WvBuf &outbuf,
size_t count) = 0;
86 virtual size_t write(
WvBuf &inbuf,
size_t count = INT_MAX) = 0;
100 virtual void noread() = 0;
133 virtual bool flush(time_t msec_timeout) = 0;
147 virtual IWvStreamCallback
setreadcallback(IWvStreamCallback _callfunc) = 0;
150 virtual IWvStreamCallback
setwritecallback(IWvStreamCallback _callfunc) = 0;
160 virtual IWvStreamCallback
setclosecallback(IWvStreamCallback _callfunc) = 0;
163 virtual const char *wsname()
const = 0;
165 virtual const char *wstype()
const = 0;
166 virtual WSID wsid()
const = 0;
178 {0xb0, 0x56, 0x8b, 0x9d, 0xde, 0x9a, 0xbe, 0x9d}});