diff options
author | Mike Buland <eichlan@xagasoft.com> | 2009-01-16 23:55:53 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2009-01-16 23:55:53 +0000 |
commit | 8c1f4d7bace6ff2c99d546cedaba890b349e88f8 (patch) | |
tree | e5c6e29deaaa7db42fbc75d0fdef32457bb0c8f2 /src/socket.h | |
parent | 0a43e790cf9798948ab989abe88f890813c935df (diff) | |
download | libbu++-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.h | 27 |
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 | */ |