/*
- * $Id: Store.h,v 1.42 2008/01/20 08:54:28 amosjeffries Exp $
+ * $Id: Store.h,v 1.43 2008/02/12 23:33:48 rousskov Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
#include "ESIElement.h"
#endif
+class AsyncCall;
+
class StoreClient;
class MemObject;
void destroyMemObject();
int checkTooSmall();
- void delayAwareRead(int fd, char *buf, int len, IOCB *handler, void *data);
+ void delayAwareRead(int fd, char *buf, int len, AsyncCall::Pointer callback);
void setNoDelay (bool const);
bool modifiedSince(HttpRequest * request) const;
/*
- * $Id: gopher.cc,v 1.209 2007/05/29 13:31:40 amosjeffries Exp $
+ * $Id: gopher.cc,v 1.210 2008/02/12 23:33:48 rousskov Exp $
*
* DEBUG: section 10 Gopher
* AUTHOR: Harvest Derived
if (do_next_read)
comm_read(fd, buf, read_sz, gopherReadReply, gopherState);
-
+
return;
}
}
/* Schedule read reply. */
- entry->delayAwareRead(fd, gopherState->replybuf, BUFSIZ, gopherReadReply, gopherState);
+ AsyncCall::Pointer call = commCbCall(10,5, "gopherReadReply",
+ CommIoCbPtrFun(gopherReadReply, gopherState));
+ entry->delayAwareRead(fd, gopherState->replybuf, BUFSIZ, call);
if (buf)
memFree(buf, MEM_4K_BUF); /* Allocated by gopherSendRequest. */
/*
- * $Id: store.cc,v 1.619 2008/01/20 08:54:28 amosjeffries Exp $
+ * $Id: store.cc,v 1.620 2008/02/12 23:33:48 rousskov Exp $
*
* DEBUG: section 20 Storage Manager
* AUTHOR: Harvest Derived
anEntry->delayAwareRead(aRead.fd,
aRead.buf,
aRead.len,
- aRead.callback.handler,
- aRead.callback.data);
+ aRead.callback);
}
void
-StoreEntry::delayAwareRead(int fd, char *buf, int len, IOCB *handler, void *data)
+StoreEntry::delayAwareRead(int fd, char *buf, int len, AsyncCall::Pointer callback)
{
size_t amountToRead = bytesWanted(Range<size_t>(0, len));
/* sketch: readdeferer* = getdeferer.
- * ->deferRead (fd, buf, len, handler, data, DelayAwareRead, this)
+ * ->deferRead (fd, buf, len, callback, DelayAwareRead, this)
*/
if (amountToRead == 0) {
if (!mem_obj->readAheadPolicyCanRead()) {
#endif
- mem_obj->delayRead(DeferredRead(DeferReader, this, CommRead(fd, buf, len, handler, data)));
+ mem_obj->delayRead(DeferredRead(DeferReader, this, CommRead(fd, buf, len, callback)));
return;
#if DELAY_POOLS
}
/* delay id limit */
- mem_obj->mostBytesAllowed().delayRead(DeferredRead(DeferReader, this, CommRead(fd, buf, len, handler, data)));
+ mem_obj->mostBytesAllowed().delayRead(DeferredRead(DeferReader, this, CommRead(fd, buf, len, callback)));
return;
}
- comm_read(fd, buf, amountToRead, handler, data);
+ comm_read(fd, buf, amountToRead, callback);
}
size_t