Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

WvUnixListener Class Reference

#include <wvunixsocket.h>

Inheritance diagram for WvUnixListener:

WvStream WvStream List of all members.

Public Methods

 WvUnixListener (const WvUnixAddr &_addr, int create_mode)
virtual ~WvUnixListener ()
virtual void close ()
WvUnixConnaccept ()
void auto_accept (WvStreamList *list, WvStreamCallback callfunc=NULL, void *userdata=NULL)
virtual size_t uread (void *buf, size_t len)
virtual size_t uwrite (const void *buf, size_t len)
virtual const WvUnixAddrsrc () const
 WvUnixListener (const WvUnixAddr &_addr, int create_mode)
virtual ~WvUnixListener ()
virtual void close ()
WvUnixConnaccept ()
void auto_accept (WvStreamList *list, WvStreamCallback callfunc=NULL, void *userdata=NULL)
virtual size_t uread (void *buf, size_t len)
virtual size_t uwrite (const void *buf, size_t len)
virtual const WvUnixAddrsrc () const

Static Protected Methods

void accept_callback (WvStream &s, void *userdata)
void accept_callback (WvStream &s, void *userdata)

Protected Attributes

WvUnixAddr addr
bool bound_okay
WvStreamListauto_list
WvStreamCallback auto_callback
void * auto_userdata
WvStreamListauto_list
void * auto_userdata

Detailed Description

Server end of a Unix Sockets stream

Definition at line 67 of file include/wvunixsocket.h.


Constructor & Destructor Documentation

WvUnixListener::WvUnixListener const WvUnixAddr   _addr,
int    create_mode
 

Definition at line 77 of file wvunixsocket.cc.

References addr, auto_list, auto_userdata, bound_okay, WvStream::getfd(), WvStream::rwfd, WvStream::seterr(), WvUnixAddr::sockaddr(), and WvUnixAddr::sockaddr_len().

WvUnixListener::~WvUnixListener   [virtual]
 

Definition at line 111 of file wvunixsocket.cc.

References close().

WvUnixListener::WvUnixListener const WvUnixAddr   _addr,
int    create_mode
 

virtual WvUnixListener::~WvUnixListener   [virtual]
 


Member Function Documentation

WvUnixConn* WvUnixListener::accept  
 

return a new WvUnixConn socket corresponding to a newly-accepted connection. If no connection is ready immediately, we wait for one indefinitely. You can use select(read=true) to check for a waiting connection.

WvUnixConn * WvUnixListener::accept  
 

return a new WvUnixConn socket corresponding to a newly-accepted connection. If no connection is ready immediately, we wait for one indefinitely. You can use select(read=true) to check for a waiting connection.

Definition at line 132 of file wvunixsocket.cc.

References addr, and WvStream::getfd().

Referenced by accept_callback().

void WvUnixListener::accept_callback WvStream   s,
void *    userdata
[static, protected]
 

void WvUnixListener::accept_callback WvStream   s,
void *    userdata
[static, protected]
 

Definition at line 155 of file wvunixsocket.cc.

References accept(), WvList< WvStream >::append(), auto_callback, auto_list, auto_userdata, WvStream::setcallback(), and WvStream::userdata.

Referenced by auto_accept().

void WvUnixListener::auto_accept WvStreamList   list,
WvStreamCallback    callfunc = NULL,
void *    userdata = NULL
 

set a callback() function that automatically accepts new WvUnixConn connections, assigning them their own callback function 'callfunc' with parameter 'userdata.' Pass list==NULL or define your own own callback function to disable auto-accepting.

Be careful not to accept() connections yourself if you do this, or we may end up accept()ing twice, causing a hang the second time.

void WvUnixListener::auto_accept WvStreamList   list,
WvStreamCallback    callfunc = NULL,
void *    userdata = NULL
 

set a callback() function that automatically accepts new WvUnixConn connections, assigning them their own callback function 'callfunc' with parameter 'userdata.' Pass list==NULL or define your own own callback function to disable auto-accepting.

Be careful not to accept() connections yourself if you do this, or we may end up accept()ing twice, causing a hang the second time.

Definition at line 145 of file wvunixsocket.cc.

References accept_callback(), auto_callback, auto_list, auto_userdata, WvStream::setcallback(), and WvStream::userdata.

virtual void WvUnixListener::close   [virtual]
 

Close the stream if it is open; isok() becomes false from now on. Note!! If you override this function in a derived class, you must call it yourself from your destructor. WvStream::~WvStream() can only call WvStream::close() because of the way virtual functions work in C++.

Reimplemented from WvStream.

void WvUnixListener::close   [virtual]
 

Close the stream if it is open; isok() becomes false from now on. Note!! If you override this function in a derived class, you must call it yourself from your destructor. WvStream::~WvStream() can only call WvStream::close() because of the way virtual functions work in C++.

Reimplemented from WvStream.

Definition at line 117 of file wvunixsocket.cc.

References addr, and WvStream::close().

Referenced by ~WvUnixListener().

virtual const WvUnixAddr* WvUnixListener::src   const [virtual]
 

src() is a bit of a misnomer, but it returns the socket address.

Reimplemented from WvStream.

const WvUnixAddr * WvUnixListener::src   const [virtual]
 

src() is a bit of a misnomer, but it returns the socket address.

Reimplemented from WvStream.

Definition at line 177 of file wvunixsocket.cc.

References addr.

virtual size_t WvUnixListener::uread void *    buf,
size_t    len
[virtual]
 

these don't do anything, but they confuse the socket, so we'll ignore them on purpose.

Reimplemented from WvStream.

size_t WvUnixListener::uread void *    buf,
size_t    len
[virtual]
 

these don't do anything, but they confuse the socket, so we'll ignore them on purpose.

Reimplemented from WvStream.

Definition at line 165 of file wvunixsocket.cc.

virtual size_t WvUnixListener::uwrite const void *    buf,
size_t    len
[virtual]
 

unbuffered I/O functions; these ignore the buffer, which is handled by write(). Don't call these functions unless you have a _really_ good reason.

Reimplemented from WvStream.

size_t WvUnixListener::uwrite const void *    buf,
size_t    len
[virtual]
 

unbuffered I/O functions; these ignore the buffer, which is handled by write(). Don't call these functions unless you have a _really_ good reason.

Reimplemented from WvStream.

Definition at line 171 of file wvunixsocket.cc.


Member Data Documentation

WvUnixAddr WvUnixListener::addr [protected]
 

Definition at line 108 of file ipstreams/wvunixsocket.h.

Referenced by accept(), close(), src(), and WvUnixListener().

WvStreamCallback WvUnixListener::auto_callback [protected]
 

Definition at line 112 of file ipstreams/wvunixsocket.h.

Referenced by accept_callback(), and auto_accept().

WvStreamList* WvUnixListener::auto_list [protected]
 

Definition at line 110 of file ipstreams/wvunixsocket.h.

WvStreamList* WvUnixListener::auto_list [protected]
 

Definition at line 110 of file include/wvunixsocket.h.

Referenced by accept_callback(), auto_accept(), and WvUnixListener().

void* WvUnixListener::auto_userdata [protected]
 

Definition at line 113 of file ipstreams/wvunixsocket.h.

void* WvUnixListener::auto_userdata [protected]
 

Definition at line 113 of file include/wvunixsocket.h.

Referenced by accept_callback(), auto_accept(), and WvUnixListener().

bool WvUnixListener::bound_okay [protected]
 

Definition at line 109 of file ipstreams/wvunixsocket.h.

Referenced by WvUnixListener().


The documentation for this class was generated from the following files:
Generated on Sat Aug 24 23:08:07 2002 for WvStreams by doxygen1.2.15