void
HttpRequest::swapOut(StoreEntry * e)
{
- Packer p;
assert(e);
- packerToStoreInit(&p, e);
- pack(&p);
+ e->buffer();
+ pack(e);
}
/* packs request-line and headers, appends <crlf> terminator */
class AsyncCall;
class HttpRequest;
-class Packer;
class RequestFlags;
class StoreClient;
class StoreSearch;
/// \ingroup StoreAPI
extern FREE destroyStoreEntry;
-/**
- \ingroup StoreAPI
- \todo should be a subclass of Packer perhaps ?
- */
-void packerToStoreInit(Packer * p, StoreEntry * e);
-
/// \ingroup StoreAPI
void storeGetMemSpace(int size);
void
StoreEntry::startWriting()
{
- Packer p;
-
/* TODO: when we store headers serparately remove the header portion */
/* TODO: mark the length of the headers ? */
/* We ONLY want the headers */
- packerToStoreInit(&p, this);
assert (isEmpty());
assert(mem_obj);
const HttpReply *rep = getReply();
assert(rep);
- rep->packHeadersInto(&p);
+ buffer();
+ rep->packHeadersInto(this);
mem_obj->markEndOfReplyHeaders();
EBIT_CLR(flags, ENTRY_FWD_HDR_WAIT);
- rep->body.packInto(&p);
+ rep->body.packInto(this);
}
char const *
#include "HttpHeader.h"
#include "HttpReply.h"
#include "MemObject.h"
-#include "Packer.h"
#include "RequestFlags.h"
#include "SquidConfig.h"
#include "Store.h"
StoreEntry *const pe = createEntry(i);
pe->buffer();
- /* TODO: remove this when the metadata is separated */
- {
- Packer p;
- packerToStoreInit(&p, pe);
- pe->getReply()->packHeadersInto(&p);
- }
-
+ pe->getReply()->packHeadersInto(pe);
pe->flush();
pe->timestampsSet();
pe->complete();
#include "HttpHeader.h"
#include "HttpReply.h"
#include "MemObject.h"
-#include "Packer.h"
#include "RequestFlags.h"
#include "SquidConfig.h"
#include "Store.h"
pe->setPublicKey();
pe->buffer();
- /* TODO: remove this when the metadata is separated */
- {
- Packer p;
- packerToStoreInit(&p, pe);
- pe->getReply()->packHeadersInto(&p);
- }
-
+ pe->getReply()->packHeadersInto(pe);
pe->flush();
pe->timestampsSet();
pe->complete();