#include "base/AsyncCall.h"
#include "base/InstanceId.h"
#include "base/RefCount.h"
#include "cbdata.h"
#include "comm/forward.h"
#include "dlink.h"
#include "helper/ChildConfig.h"
#include "helper/forward.h"
#include "helper/Reply.h"
#include "helper/Request.h"
#include "helper/ReservationId.h"
#include "ip/Address.h"
#include "sbuf/SBuf.h"
#include <list>
#include <map>
#include <queue>
#include <unordered_map>


Go to the source code of this file.
Classes | |
class | Helper::Xaction |
Holds the required data to serve a helper request. More... | |
class | Helper::Client |
struct | Helper::Client::_stats |
class | statefulhelper |
class | Helper::SessionBase |
represents a single helper process More... | |
struct | Helper::SessionBase::_helper_flags |
class | Helper::Session |
class | helper_stateful_server |
Namespaces | |
namespace | Helper |
helper protocol primitives | |
Functions | |
void | helperOpenServers (const Helper::Client::Pointer &) |
void | helperStatefulOpenServers (const statefulhelper::Pointer &) |
void | helperSubmit (const Helper::Client::Pointer &, const char *buf, HLPCB *, void *cbData) |
void | helperStatefulSubmit (const statefulhelper::Pointer &, const char *buf, HLPCB *, void *cbData, uint64_t reservation) |
void | helperShutdown (const Helper::Client::Pointer &) |
void | helperStatefulShutdown (const statefulhelper::Pointer &) |
Function Documentation
◆ helperOpenServers()
void helperOpenServers | ( | const Helper::Client::Pointer & | hlp | ) |
Definition at line 196 of file helper.cc.
References Helper::Client::addr, assert, asyncCall(), cbdataDialer(), Helper::Client::childs, Helper::Client::cmdline, comm_add_close_handler(), comm_read(), commCbCall(), commSetConnTimeout(), commSetNonBlocking(), Helper::ChildConfig::concurrency, DBG_IMPORTANT, debugs, dlinkAddTail(), FD_DESC_SZ, fd_note(), getCurrentTime(), Helper::Client::handleFewerServers(), HELPER_MAX_ARGS, helperHandleRead, helperKickQueue(), Helper::Session::HelperServerClosed(), hIpc, Important, Helper::Client::ipc_type, ipcCreate(), wordlist::key, Helper::Client::last_restart, memAllocBuf(), Helper::ChildConfig::n_active, Helper::ChildConfig::n_max, Helper::ChildConfig::n_running, Helper::ChildConfig::needNew(), wordlist::next, pid, progname, ReadBufSize(), Helper::Session::requestTimeout(), safe_free, Helper::Client::servers, squid_curtime, Helper::Client::timeout, xmalloc, and xstrdup.
Referenced by Enqueue(), externalAclInit(), Helper::Session::HelperServerClosed(), Ssl::Helper::Init(), Ssl::CertValidationHelper::Init(), and redirectInit().
◆ helperShutdown()
void helperShutdown | ( | const Helper::Client::Pointer & | hlp | ) |
Definition at line 764 of file helper.cc.
References assert, Helper::Client::childs, dlink_node::data, debugs, dlink_list::head, Helper::Client::id_name, Helper::ChildConfig::n_active, dlink_node::next, and Helper::Client::servers.
Referenced by external_acl::~external_acl(), externalAclShutdown(), redirectShutdown(), Ssl::Helper::Shutdown(), and Ssl::CertValidationHelper::Shutdown().
◆ helperStatefulOpenServers()
void helperStatefulOpenServers | ( | const statefulhelper::Pointer & | hlp | ) |
DPW 2007-05-08
helperStatefulOpenServers: create the stateful child helper processes
Definition at line 336 of file helper.cc.
References Helper::Client::addr, Helper::SessionBase::addr, assert, asyncCall(), cbdataDialer(), Helper::Client::childs, Helper::Client::cmdline, comm_add_close_handler(), comm_read(), commCbCall(), commSetNonBlocking(), Helper::ChildConfig::concurrency, DBG_CRITICAL, DBG_IMPORTANT, debugs, dlinkAddTail(), Comm::Connection::fd, FD_DESC_SZ, fd_note(), getCurrentTime(), Helper::Client::handleFewerServers(), HELPER_MAX_ARGS, helper_stateful_server::HelperServerClosed(), helperStatefulHandleRead, helperStatefulKickQueue(), Helper::SessionBase::hIpc, hIpc, Helper::SessionBase::initStats(), Helper::Client::ipc_type, ipcCreate(), wordlist::key, Helper::Client::last_restart, Helper::SessionBase::link, memAllocBuf(), Helper::ChildConfig::n_active, Helper::ChildConfig::n_max, Helper::ChildConfig::n_running, Helper::ChildConfig::needNew(), wordlist::next, helper_stateful_server::parent, Helper::SessionBase::pid, pid, progname, Helper::SessionBase::rbuf, Helper::SessionBase::rbuf_sz, ReadBufSize(), Helper::SessionBase::readPipe, helper_stateful_server::reservationStart, Helper::SessionBase::roffset, safe_free, Helper::Client::servers, squid_curtime, Helper::SessionBase::writePipe, xmalloc, and xstrdup.
Referenced by helper_stateful_server::HelperServerClosed(), and StatefulEnqueue().
◆ helperStatefulShutdown()
void helperStatefulShutdown | ( | const statefulhelper::Pointer & | hlp | ) |
Definition at line 800 of file helper.cc.
References assert, Helper::Client::childs, Helper::SessionBase::closePipesSafely(), Helper::SessionBase::_helper_flags::closing, dlink_node::data, debugs, Helper::SessionBase::flags, dlink_list::head, Helper::Client::id_name, Helper::SessionBase::index, Helper::ChildConfig::n_active, dlink_node::next, Helper::SessionBase::pending, helper_stateful_server::reserved(), Helper::Client::servers, Helper::SessionBase::_helper_flags::shutdown, shutting_down, and Helper::SessionBase::stats.
◆ helperStatefulSubmit()
void helperStatefulSubmit | ( | const statefulhelper::Pointer & | , |
const char * | buf, | ||
HLPCB * | , | ||
void * | cbData, | ||
uint64_t | reservation | ||
) |
◆ helperSubmit()
void helperSubmit | ( | const Helper::Client::Pointer & | hlp, |
const char * | buf, | ||
HLPCB * | callback, | ||
void * | cbData | ||
) |
Definition at line 485 of file helper.cc.
References SubmissionFailure(), and Helper::Client::trySubmit().
Referenced by constructHelperQuery().