*
*/
-#include "squid.h"
+#include "squid-old.h"
+#include "comm/Connection.h"
#include "MemObject.h"
#include "HttpRequest.h"
#include "HttpReply.h"
return Pool().inUseCount();
}
+void
+MemObject::resetUrls(char const *aUrl, char const *aLog_url)
+{
+ safe_free(url);
+ safe_free(log_url); /* XXX account log_url */
+ log_url = xstrdup(aLog_url);
+ url = xstrdup(aUrl);
+}
+
MemObject::MemObject(char const *aUrl, char const *aLog_url)
{
debugs(20, 3, HERE << "new MemObject " << this);
object_sz = -1;
/* XXX account log_url */
+
+ swapout.decision = SwapOut::swNeedsCheck;
}
MemObject::~MemObject()
};
void
-MemObject::stat (MemBuf * mb) const
+MemObject::stat(MemBuf * mb) const
{
mb->Printf("\t%s %s\n",
RequestMethodStr(method), log_url);
+ if (vary_headers)
+ mb->Printf("\tvary_headers: %s\n", vary_headers);
mb->Printf("\tinmem_lo: %"PRId64"\n", inmem_lo);
mb->Printf("\tinmem_hi: %"PRId64"\n", data_hdr.endOffset());
mb->Printf("\tswapout: %"PRId64" bytes queued\n",
return data_hdr.endOffset();
}
+void
+MemObject::markEndOfReplyHeaders()
+{
+ const int hdr_sz = endOffset();
+ assert(hdr_sz >= 0);
+ assert(_reply);
+ _reply->hdr_sz = hdr_sz;
+}
+
int64_t
MemObject::size() const
{
}
int64_t
-MemObject::expectedReplySize() const {
+MemObject::expectedReplySize() const
+{
debugs(20, 7, HERE << "object_sz: " << object_sz);
if (object_sz >= 0) // complete() has been called; we know the exact answer
return object_sz;
}
#endif
+
+int64_t
+MemObject::availableForSwapOut() const
+{
+ return endOffset() - swapout.queue_offset;
+}