aboutsummaryrefslogtreecommitdiff
path: root/src/socket.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2009-01-16 23:55:53 +0000
committerMike Buland <eichlan@xagasoft.com>2009-01-16 23:55:53 +0000
commit8c1f4d7bace6ff2c99d546cedaba890b349e88f8 (patch)
treee5c6e29deaaa7db42fbc75d0fdef32457bb0c8f2 /src/socket.h
parent0a43e790cf9798948ab989abe88f890813c935df (diff)
downloadlibbu++-8c1f4d7bace6ff2c99d546cedaba890b349e88f8.tar.gz
libbu++-8c1f4d7bace6ff2c99d546cedaba890b349e88f8.tar.bz2
libbu++-8c1f4d7bace6ff2c99d546cedaba890b349e88f8.tar.xz
libbu++-8c1f4d7bace6ff2c99d546cedaba890b349e88f8.zip
I...think that's a little better. Wow, function pointers in windows have a
lot of problems. This may require a little more research, but basically, you can't just call them inline wherever you'd like. I managed to get it to work by providing simple one line wrapper functions for each function we acquired as a pointer. Crazy mess. Anyway, it should load the library just once now, and Bu::Socket looks a little bit cleaner, but not a heck of a lot. I also added some more docs and removed the author references.
Diffstat (limited to 'src/socket.h')
-rw-r--r--src/socket.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/socket.h b/src/socket.h
index 572c2ad..f12f79c 100644
--- a/src/socket.h
+++ b/src/socket.h
@@ -27,7 +27,32 @@ namespace Bu
27 subExceptionDeclEnd(); 27 subExceptionDeclEnd();
28 28
29 /** 29 /**
30 *@author Mike Buland 30 * Network socket stream class. This class provides a mechanism for
31 * communicating over a network using TCP/IP. It will provide other low
32 * level protocol and addressing support later on, but for now it's just
33 * standard STREAM TCP/IP sockets.
34 *
35 * Unlike system sockets, these sockets are opened by default in
36 * non-blocking mode, you can specify your own timeout for opening a socket,
37 * and a number of non-fatal error messages have been automatically handled
38 * and treated as standard no-data-available-yet situations on read.
39 *
40 * Please note that there is a condition that will occur eventually (at
41 * least on *nix systems) that will trigger a SIGPIPE condition. This
42 * will terminate your program immediately unless handled properly. Most
43 * people doing any connections with Socket will want to put this in their
44 * program somewhere before they use it:
45 *@code
46 #include <signal.h>
47 ...
48 ...
49 ...
50 sigset( SIGPIPE, SIG_IGN ); // do this before you use a Bu::Socket
51 @endcode
52 * When this is done, Bu::Socket will simply throw a broken pipe exception
53 * just like every other error condition, allowing your program to handle
54 * it sanely.
55 *
31 *@ingroup Serving 56 *@ingroup Serving
32 *@ingroup Streams 57 *@ingroup Streams
33 */ 58 */