11 #include "iwvlistener.h"
12 #include "wvstreamclone.h"
21 IWvListenerCallback acceptor;
22 IWvListenerWrapper wrapper;
27 virtual void addwrap(IWvListenerWrapper _wrapper);
29 virtual IWvListenerCallback
onaccept(IWvListenerCallback _cb);
31 void runonce(time_t msec_delay);
37 {
if (cloned) cloned->close(); }
41 virtual void callback();
45 virtual int getrfd()
const
46 {
return cloned ? cloned->getrfd() : -1; }
47 virtual int getwfd()
const
48 {
return cloned ? cloned->getwfd() : -1; }
50 virtual const WvAddr *src()
const
51 {
return cloned ? cloned->src() : NULL; }
53 virtual void pre_select(SelectInfo &si)
54 {
if (cloned) cloned->pre_select(si); }
55 virtual bool post_select(SelectInfo &si)
56 {
return cloned ? cloned->post_select(si) :
false; }
58 virtual size_t read(
void *buf,
size_t count)
60 virtual size_t write(
const void *buf,
size_t count)
62 virtual size_t read(
WvBuf &outbuf,
size_t count)
64 virtual size_t write(
WvBuf &inbuf,
size_t count = INT_MAX)
76 virtual bool flush(time_t msec_timeout)
88 virtual const char *wsname()
const
89 {
return "Listener"; }
92 void set_wsname(WVSTRING_FORMAT_DECL)
93 { set_wsname(
WvString(WVSTRING_FORMAT_CALL)); }
94 virtual const char *wstype()
const
95 {
return "Listener"; }
96 virtual WSID wsid()
const
121 virtual const WvAddr *src()
const;
124 #endif // __WVLISTENER_H