represents a single helper process More...
#include <helper.h>
![Inheritance graph](classHelper_1_1SessionBase__inherit__graph.png)
![Collaboration graph](classHelper_1_1SessionBase__coll__graph.png)
Classes | |
struct | _helper_flags |
Public Types | |
using | Requests = std::list< Xaction * > |
Public Member Functions | |
~SessionBase () override | |
void | closePipesSafely () |
void | closeWritePipeSafely () |
virtual bool | reserved ()=0 |
whether the server is locked for exclusive use by a client More... | |
virtual Client & | helper () const =0 |
our creator (parent) object More... | |
virtual void | dropQueued () |
dequeues and sends an Unknown answer to all queued requests More... | |
void | initStats () |
virtual void * | toCbdata ()=0 |
Static Public Member Functions | |
static void | HelperServerClosed (SessionBase *) |
close handler to handle exited server processes More... | |
Public Attributes | |
const InstanceId< SessionBase > | index |
int | pid |
Ip::Address | addr |
Comm::ConnectionPointer | readPipe |
Comm::ConnectionPointer | writePipe |
void * | hIpc |
char * | rbuf |
size_t | rbuf_sz |
size_t | roffset |
struct timeval | dispatch_time |
struct timeval | answer_time |
dlink_node | link |
struct Helper::SessionBase::_helper_flags | flags |
Requests | requests |
requests in order of submission/expiration More... | |
struct { | |
uint64_t uses | |
uint64_t replies | |
uint64_t pending | |
uint64_t releases | |
uint64_t timedout | |
} | stats |
Private Member Functions | |
virtual void | finalizedInCbdataChild ()=0 |
hack: ensure CBDATA_CHILD() after a toCbdata()-defining CBDATA_INTERMEDIATE() More... | |
Detailed Description
Member Typedef Documentation
◆ Requests
using Helper::SessionBase::Requests = std::list<Xaction *> |
Constructor & Destructor Documentation
◆ ~SessionBase()
|
override |
Definition at line 134 of file helper.cc.
References memFreeBuf().
Member Function Documentation
◆ closePipesSafely()
void Helper::SessionBase::closePipesSafely | ( | ) |
Closes pipes to the helper safely. Handles the case where the read and write pipes are the same FD.
Definition at line 72 of file helper.cc.
References DBG_IMPORTANT, debugs, getCurrentTime(), hIpc, and pid.
Referenced by helperReturnBuffer(), helperStatefulHandleRead(), and helperStatefulShutdown().
◆ closeWritePipeSafely()
void Helper::SessionBase::closeWritePipeSafely | ( | ) |
Closes the reading pipe. If the read and write sockets are the same the write pipe will also be closed. Otherwise its left open for later handling.
Definition at line 98 of file helper.cc.
References DBG_IMPORTANT, debugs, getCurrentTime(), hIpc, and pid.
Referenced by helperReturnBuffer(), and helperStatefulServerDone().
◆ dropQueued()
|
virtual |
Reimplemented in Helper::Session.
Definition at line 122 of file helper.cc.
References Helper::Unknown.
Referenced by Helper::Session::dropQueued(), and HelperServerClosed().
◆ finalizedInCbdataChild()
|
privatepure virtualinherited |
◆ helper()
|
pure virtual |
Implemented in helper_stateful_server, and Helper::Session.
Referenced by HelperServerClosed().
◆ HelperServerClosed()
|
static |
Definition at line 928 of file helper.cc.
References dropQueued(), Helper::Client::handleKilledServer(), and helper().
Referenced by Helper::Client::openSessions(), and statefulhelper::openSessions().
◆ initStats()
void Helper::SessionBase::initStats | ( | ) |
Definition at line 62 of file helper.cc.
References stats.
Referenced by statefulhelper::openSessions().
◆ reserved()
|
pure virtual |
Implemented in helper_stateful_server, and Helper::Session.
◆ toCbdata()
|
pure virtualinherited |
Referenced by AsyncJob::callException(), and AsyncJob::callStart().
Member Data Documentation
◆ addr
Ip::Address Helper::SessionBase::addr |
Definition at line 227 of file helper.h.
Referenced by statefulhelper::openSessions().
◆ answer_time
struct timeval Helper::SessionBase::answer_time |
Definition at line 237 of file helper.h.
Referenced by helperReturnBuffer(), and helperStatefulHandleRead().
◆ dispatch_time
struct timeval Helper::SessionBase::dispatch_time |
Definition at line 236 of file helper.h.
Referenced by helperReturnBuffer(), helperStatefulDispatch(), and helperStatefulHandleRead().
◆ flags
struct Helper::SessionBase::_helper_flags Helper::SessionBase::flags |
◆ hIpc
void* Helper::SessionBase::hIpc |
Definition at line 230 of file helper.h.
Referenced by statefulhelper::openSessions().
◆ index
const InstanceId<SessionBase> Helper::SessionBase::index |
Helper program identifier; does not change when contents do, including during assignment
Definition at line 224 of file helper.h.
Referenced by GetFirstAvailable(), Helper::Client::handleKilledServer(), helperDispatch(), helperReturnBuffer(), helperStatefulDispatch(), helperStatefulHandleRead(), helperStatefulKickQueue(), helperStatefulShutdown(), and StatefulGetFirstAvailable().
◆ link
dlink_node Helper::SessionBase::link |
Definition at line 239 of file helper.h.
Referenced by statefulhelper::openSessions().
◆ pending
uint64_t Helper::SessionBase::pending |
Definition at line 253 of file helper.h.
Referenced by GetFirstAvailable(), helperDispatch(), helperReturnBuffer(), helperStatefulDispatch(), helperStatefulHandleRead(), helperStatefulServerDone(), helperStatefulShutdown(), and StatefulGetFirstAvailable().
◆ pid
int Helper::SessionBase::pid |
Definition at line 226 of file helper.h.
Referenced by statefulhelper::openSessions().
◆ rbuf
char* Helper::SessionBase::rbuf |
Definition at line 232 of file helper.h.
Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().
◆ rbuf_sz
size_t Helper::SessionBase::rbuf_sz |
Definition at line 233 of file helper.h.
Referenced by helperReturnBuffer(), helperStatefulHandleRead(), and statefulhelper::openSessions().
◆ readPipe
Comm::ConnectionPointer Helper::SessionBase::readPipe |
Definition at line 228 of file helper.h.
Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().
◆ releases
◆ replies
uint64_t Helper::SessionBase::replies |
Definition at line 252 of file helper.h.
Referenced by Helper::Client::handleKilledServer(), helperReturnBuffer(), and helperStatefulHandleRead().
◆ requests
Requests Helper::SessionBase::requests |
Definition at line 248 of file helper.h.
Referenced by helperDispatch(), helperStatefulDispatch(), and helperStatefulHandleRead().
◆ roffset
size_t Helper::SessionBase::roffset |
Definition at line 234 of file helper.h.
Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().
◆ stats
struct { ... } Helper::SessionBase::stats |
◆ timedout
◆ uses
uint64_t Helper::SessionBase::uses |
Definition at line 251 of file helper.h.
Referenced by helperDispatch(), and helperStatefulDispatch().
◆ writePipe
Comm::ConnectionPointer Helper::SessionBase::writePipe |
Definition at line 229 of file helper.h.
Referenced by helperDispatch(), helperStatefulDispatch(), and statefulhelper::openSessions().
The documentation for this class was generated from the following files:
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products