]> git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/Filler.cc
SourceFormat Enforcement
[thirdparty/squid.git] / src / mgr / Filler.cc
1 /*
2 * Copyright (C) 1996-2019 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 /* DEBUG: section 16 Cache Manager API */
10
11 #include "squid.h"
12 #include "base/TextException.h"
13 #include "comm/Connection.h"
14 #include "mgr/Filler.h"
15 #include "mgr/Response.h"
16 #include "Store.h"
17
18 CBDATA_NAMESPACED_CLASS_INIT(Mgr, Filler);
19
20 Mgr::Filler::Filler(const Action::Pointer &anAction, const Comm::ConnectionPointer &conn,
21 unsigned int aRequestId):
22 StoreToCommWriter(conn, anAction->createStoreEntry()),
23 action(anAction),
24 requestId(aRequestId)
25 {
26 debugs(16, 5, HERE << conn << " action: " << action);
27 }
28
29 void
30 Mgr::Filler::start()
31 {
32 debugs(16, 5, HERE);
33 Must(requestId != 0);
34 Must(action != NULL);
35
36 StoreToCommWriter::start();
37 action->run(entry, false);
38 }
39
40 void
41 Mgr::Filler::swanSong()
42 {
43 debugs(16, 5, HERE);
44 action->sendResponse(requestId);
45 StoreToCommWriter::swanSong();
46 }
47