From: wessels <> Date: Wed, 11 Feb 1998 08:07:23 +0000 (+0000) Subject: update X-Git-Tag: SQUID_3_0_PRE1~4116 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8450e5e25bf73bb118754e3e6272d76a93b4131d;p=thirdparty%2Fsquid.git update --- diff --git a/doc/Programming-Guide/prog-guide.sgml b/doc/Programming-Guide/prog-guide.sgml index e1a2be4101..52f30b557f 100644 --- a/doc/Programming-Guide/prog-guide.sgml +++ b/doc/Programming-Guide/prog-guide.sgml @@ -668,20 +668,69 @@ another request from the client, or closes the client connection.
At the core of Squid is the Comm Handlers +
+The
+ commSetSelect(fd, COMM_SELECT_READ, clientReadRequest, conn, 0);
+
+In this example,
+ clientReadRequest(fd, conn);
+
-For every open file descriptor, there are N types of handler functions.
-
+These I/O handlers (and others) and their associated callback data
+pointers are saved in the
+ struct _fde {
+ ...
+ PF *read_handler;
+ void *read_data;
+ PF *write_handler;
+ void *write_data;
+ close_handler *close_handler;
+ DEFER *defer_check;
+ void *defer_data;
+ };
+
+
+In some situations we want to defer reading from a filedescriptor,
+even though it has data for us to read. This may be the case
+when data arrives from the server-side faster than it can
+be written to the client-side.
+Before adding a filedescriptor to the ``read set'' for select,
+we call
These handlers are stored in the