]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Unwrap users of legacy comm_read() wrapper
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 4 Dec 2010 09:34:55 +0000 (22:34 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 4 Dec 2010 09:34:55 +0000 (22:34 +1300)
src/comm.cc
src/comm.h
src/dns_internal.cc
src/gopher.cc
src/helper.cc
src/ident/Ident.cc
src/pconn.cc
src/tunnel.cc
src/whois.cc

index a4ff2ef1eb570f308fdab738eb4ff3935f38c98e..52fd50eda2933a7292e72cfa5748cf63c5dce7a7 100644 (file)
@@ -151,10 +151,7 @@ commHandleRead(int fd, void *data)
     commSetSelect(fd, COMM_SELECT_READ, commHandleRead, data, 0);
 }
 
-/**
- * Queue a read. handler/handler_data are called when the read
- * completes, on error, or on file descriptor close.
- */
+#if 0 // obsolete wrapper.
 void
 comm_read(const Comm::ConnectionPointer &conn, char *buf, int size, IOCB *handler, void *handler_data)
 {
@@ -162,7 +159,12 @@ comm_read(const Comm::ConnectionPointer &conn, char *buf, int size, IOCB *handle
                                          CommIoCbPtrFun(handler, handler_data));
     comm_read(conn, buf, size, call);
 }
+#endif
 
+/**
+ * Queue a read. handler/handler_data are called when the read
+ * completes, on error, or on file descriptor close.
+ */
 void
 comm_read(const Comm::ConnectionPointer &conn, char *buf, int size, AsyncCall::Pointer &callback)
 {
index 2c76b5d974557113be171e8bd102274076bd9829..10bd170a7fe12483d91ec40113f8293495fb72e6 100644 (file)
@@ -89,7 +89,7 @@ extern void comm_remove_close_handler(int fd, AsyncCall::Pointer &);
 
 extern int comm_has_pending_read_callback(int fd);
 extern bool comm_monitors_read(int fd);
-extern void comm_read(const Comm::ConnectionPointer &conn, char *buf, int len, IOCB *handler, void *data);
+//extern void comm_read(const Comm::ConnectionPointer &conn, char *buf, int len, IOCB *handler, void *data);
 extern void comm_read(const Comm::ConnectionPointer &conn, char *buf, int len, AsyncCall::Pointer &callback);
 extern void comm_read_cancel(int fd, IOCB *callback, void *data);
 extern void comm_read_cancel(int fd, AsyncCall::Pointer &callback);
index 903ef656aafffb08015d8cc7f2e8cc86e8a7f047..c18626ef59c979dbbc8aedf58b054cb77d2c9ac6 100644 (file)
@@ -796,7 +796,9 @@ idnsInitVCConnected(const Comm::ConnectionPointer &conn, comm_err_t status, int
     vc->conn = conn;
 
     comm_add_close_handler(conn->fd, idnsVCClosed, vc);
-    comm_read(conn, (char *)&vc->msglen, 2 , idnsReadVCHeader, vc);
+    AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVCHeader",
+                                         CommIoCbPtrFun(idnsReadVCHeader, vc));
+    comm_read(conn, (char *)&vc->msglen, 2, call);
     vc->busy = 0;
     idnsDoSendQueryVC(vc);
 }
@@ -1373,7 +1375,9 @@ idnsReadVC(const Comm::ConnectionPointer &conn, char *buf, size_t len, comm_err_
     vc->msg->size += len;       // XXX should not access -> size directly
 
     if (vc->msg->contentSize() < vc->msglen) {
-        comm_read(conn, buf + len, vc->msglen - vc->msg->contentSize(), idnsReadVC, vc);
+        AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVC",
+                                             CommIoCbPtrFun(idnsReadVC, vc));
+        comm_read(conn, buf+len, vc->msglen - vc->msg->contentSize(), call);
         return;
     }
 
@@ -1382,7 +1386,9 @@ idnsReadVC(const Comm::ConnectionPointer &conn, char *buf, size_t len, comm_err_
 
     idnsGrokReply(vc->msg->buf, vc->msg->contentSize(), vc->ns);
     vc->msg->clean();
-    comm_read(conn, (char *)&vc->msglen, 2 , idnsReadVCHeader, vc);
+    AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVCHeader",
+                                         CommIoCbPtrFun(idnsReadVCHeader, vc));
+    comm_read(conn, (char *)&vc->msglen, 2, call);
 }
 
 static void
@@ -1404,7 +1410,9 @@ idnsReadVCHeader(const Comm::ConnectionPointer &conn, char *buf, size_t len, com
     assert(vc->read_msglen <= 2);
 
     if (vc->read_msglen < 2) {
-        comm_read(conn, buf + len, 2 - vc->read_msglen, idnsReadVCHeader, vc);
+        AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVCHeader",
+                                             CommIoCbPtrFun(idnsReadVCHeader, vc));
+        comm_read(conn, buf+len, 2 - vc->read_msglen, call);
         return;
     }
 
@@ -1413,7 +1421,9 @@ idnsReadVCHeader(const Comm::ConnectionPointer &conn, char *buf, size_t len, com
     vc->msglen = ntohs(vc->msglen);
 
     vc->msg->init(vc->msglen, vc->msglen);
-    comm_read(conn, vc->msg->buf, vc->msglen, idnsReadVC, vc);
+    AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVC",
+                                         CommIoCbPtrFun(idnsReadVC, vc));
+    comm_read(conn, vc->msg->buf, vc->msglen, call);
 }
 
 /*
index b46045bab9d2a6474b903fcfcb6a6baf4764ed5b..b87ab1599568e4b9a3c2420b0df891a2831949aa 100644 (file)
@@ -865,9 +865,11 @@ gopherReadReply(const Comm::ConnectionPointer &conn, char *buf, size_t len, comm
         do_next_read = 1;
     }
 
-    if (do_next_read)
-        comm_read(conn, buf, read_sz, gopherReadReply, gopherState);
-
+    if (do_next_read) {
+        AsyncCall::Pointer call = commCbCall(5,4, "gopherReadReply",
+                                             CommIoCbPtrFun(gopherReadReply, gopherState));
+        comm_read(conn, buf, read_sz, call);
+    }
     return;
 }
 
index 30a5ea0d7b02e497b09a1cfd943a91a83cfb7a98..ffa19ae2de1017cff46bdf354f1dc88e95839aea 100644 (file)
@@ -234,7 +234,9 @@ helperOpenServers(helper * hlp)
 
         comm_add_close_handler(rfd, helperServerFree, srv);
 
-        comm_read(srv->readPipe, srv->rbuf, srv->rbuf_sz - 1, helperHandleRead, srv);
+        AsyncCall::Pointer call = commCbCall(5,4, "helperHandleRead",
+                                             CommIoCbPtrFun(helperHandleRead, srv));
+        comm_read(srv->readPipe, srv->rbuf, srv->rbuf_sz - 1, call);
     }
 
     hlp->last_restart = squid_curtime;
@@ -352,7 +354,9 @@ helperStatefulOpenServers(statefulhelper * hlp)
 
         comm_add_close_handler(rfd, helperStatefulServerFree, srv);
 
-        comm_read(srv->readPipe, srv->rbuf, srv->rbuf_sz - 1, helperStatefulHandleRead, srv);
+        AsyncCall::Pointer call = commCbCall(5,4, "helperStatefulHandleRead",
+                                             CommIoCbPtrFun(helperStatefulHandleRead, srv));
+        comm_read(srv->readPipe, srv->rbuf, srv->rbuf_sz - 1, call);
     }
 
     hlp->last_restart = squid_curtime;
@@ -905,8 +909,11 @@ helperHandleRead(const Comm::ConnectionPointer &conn, char *buf, size_t len, com
         }
     }
 
-    if (Comm::IsConnOpen(srv->readPipe))
-        comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1, helperHandleRead, srv);
+    if (Comm::IsConnOpen(srv->readPipe)) {
+        AsyncCall::Pointer call = commCbCall(5,4, "helperHandleRead",
+                                             CommIoCbPtrFun(helperHandleRead, srv));
+        comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1, call);
+    }
 }
 
 static void
@@ -985,9 +992,11 @@ helperStatefulHandleRead(const Comm::ConnectionPointer &conn, char *buf, size_t
             helperStatefulReleaseServer(srv);
     }
 
-    if (Comm::IsConnOpen(srv->readPipe))
-        comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1,
-                  helperStatefulHandleRead, srv);
+    if (Comm::IsConnOpen(srv->readPipe)) {
+        AsyncCall::Pointer call = commCbCall(5,4, "helperStatefulHandleRead",
+                                             CommIoCbPtrFun(helperStatefulHandleRead, srv));
+        comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1, call);
+    }
 }
 
 static void
index 1a099e490c8005a654239f9976eb4976b713b9d9..edf2ee973f2ef6750a3e859b79290521493d662d 100644 (file)
@@ -50,6 +50,7 @@ namespace Ident
 
 #define IDENT_PORT 113
 #define IDENT_KEY_SZ 50
+#define IDENT_BUFSIZE 4096
 
 typedef struct _IdentClient {
     IDCB *callback;
@@ -62,7 +63,7 @@ typedef struct _IdentStateData {
     hash_link hash;            /* must be first */
     Comm::ConnectionPointer conn;
     IdentClient *clients;
-    char buf[4096];
+    char buf[IDENT_BUFSIZE];
 } IdentStateData;
 
 // TODO: make these all a series of Async job calls. They are self-contained callbacks now.
@@ -156,7 +157,9 @@ Ident::ConnectDone(const Comm::ConnectionPointer &conn, comm_err_t status, int x
               conn->local.GetPort());
     AsyncCall::Pointer nil;
     Comm::Write(conn, &mb, nil);
-    comm_read(conn, state->buf, BUFSIZ, Ident::ReadReply, state);
+    AsyncCall::Pointer call = commCbCall(5,4, "Ident::ReadReply",
+                                         CommIoCbPtrFun(Ident::ReadReply, state));
+    comm_read(conn, state->buf, IDENT_BUFSIZE, call);
     commSetTimeout(conn->fd, Ident::TheConfig.timeout, Ident::Timeout, state);
 }
 
index 19716bb7e5b7f39654ad7fae0ceb4b7bdba4f0f0..f066f74526f27042e80be4500144cafb0f3313bf 100644 (file)
@@ -140,7 +140,9 @@ IdleConnList::push(const Comm::ConnectionPointer &conn)
     }
 
     theList_[size_++] = conn;
-    comm_read(conn, fakeReadBuf_, sizeof(fakeReadBuf_), IdleConnList::Read, this);
+    AsyncCall::Pointer call = commCbCall(5,4, "IdleConnList::Read",
+                                         CommIoCbPtrFun(IdleConnList::Read, this));
+    comm_read(conn, fakeReadBuf_, sizeof(fakeReadBuf_), call);
     commSetTimeout(conn->fd, Config.Timeout.pconn, IdleConnList::Timeout, this);
 }
 
index 6404ab87fd72c8953d5af5cb0e9cb13ecf74bf3f..f25d48e8411798449f66af21ca5c964e56ebb9d2 100644 (file)
@@ -457,7 +457,9 @@ void
 TunnelStateData::copyRead(Connection &from, IOCB *completion)
 {
     assert(from.len == 0);
-    comm_read(from.conn, from.buf, from.bytesWanted(1, SQUID_TCP_SO_RCVBUF), completion, this);
+    AsyncCall::Pointer call = commCbCall(5,4, "SomeTunnelReadHandler",
+                                         CommIoCbPtrFun(completion, this));
+    comm_read(from.conn, from.buf, from.bytesWanted(1, SQUID_TCP_SO_RCVBUF), call);
 }
 
 /**
index a7e182b74a9e38fedd181d0bc74960a8b8fc7671..0d81b99d832af4b40239af72e6a9b35f3c70a958 100644 (file)
@@ -101,11 +101,12 @@ whoisStart(FwdState * fwd)
     String str_print=p->request->urlpath.substr(1,p->request->urlpath.size());
     snprintf(buf, l, SQUIDSTRINGPH"\r\n", SQUIDSTRINGPRINT(str_print));
 
-    AsyncCall::Pointer call = commCbCall(5,5, "whoisWriteComplete",
-                                         CommIoCbPtrFun(whoisWriteComplete, p));
-
-    Comm::Write(fwd->serverConnection(), buf, strlen(buf), call, NULL);
-    comm_read(fwd->serverConnection(), p->buf, BUFSIZ, whoisReadReply, p);
+    AsyncCall::Pointer writeCall = commCbCall(5,5, "whoisWriteComplete",
+                                              CommIoCbPtrFun(whoisWriteComplete, p));
+    Comm::Write(fwd->serverConnection(), buf, strlen(buf), writeCall, NULL);
+    AsyncCall::Pointer readCall = commCbCall(5,4, "whoisReadReply",
+                                             CommIoCbPtrFun(whoisReadReply, p));
+    comm_read(fwd->serverConnection(), p->buf, BUFSIZ, readCall);
     commSetTimeout(fwd->serverConnection()->fd, Config.Timeout.read, whoisTimeout, p);
 }
 
@@ -192,8 +193,11 @@ WhoisState::readReply(const Comm::ConnectionPointer &conn, char *aBuffer, size_t
         do_next_read = 0;
     }
 
-    if (do_next_read)
-        comm_read(conn, aBuffer, BUFSIZ, whoisReadReply, this);
+    if (do_next_read) {
+        AsyncCall::Pointer call = commCbCall(5,4, "whoisReadReply",
+                                             CommIoCbPtrFun(whoisReadReply, this));
+        comm_read(conn, aBuffer, BUFSIZ, call);
+    }
 }
 
 static void