#include <helper.h>

Inheritance diagram for helper_stateful_server:
Collaboration diagram for helper_stateful_server:

Public Types

using Requests = std::list< Xaction * >
 

Public Member Functions

 ~helper_stateful_server () override
 
void reserve ()
 
void clearReservation ()
 
bool reserved () override
 whether the server is locked for exclusive use by a client More...
 
void closePipesSafely (const char *name)
 
void closeWritePipeSafely (const char *name)
 
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 (helper_stateful_server *srv)
 close handler to handle exited server processes More...
 

Public Attributes

statefulhelper::Pointer parent
 
Helper::ReservationId reservationId
 "confirmation ID" of the last More...
 
time_t reservationStart
 when the last reservation was made More...
 
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

 CBDATA_CHILD (helper_stateful_server)
 
virtual void finalizedInCbdataChild ()=0
 hack: ensure CBDATA_CHILD() after a toCbdata()-defining CBDATA_INTERMEDIATE() More...
 

Detailed Description

represents a single "stateful helper" process; supports exclusive transaction reservations

Definition at line 299 of file helper.h.

Member Typedef Documentation

◆ Requests

using Helper::SessionBase::Requests = std::list<Xaction *>
inherited

Definition at line 231 of file helper.h.

Constructor & Destructor Documentation

◆ ~helper_stateful_server()

helper_stateful_server::~helper_stateful_server ( )
override

Definition at line 179 of file helper.cc.

References assert, dlinkDelete(), and Comm::IsConnOpen().

Member Function Documentation

◆ CBDATA_CHILD()

helper_stateful_server::CBDATA_CHILD ( helper_stateful_server  )
private

◆ clearReservation()

void helper_stateful_server::clearReservation ( )

Definition at line 644 of file helper.cc.

References debugs, and Ping::stats.

Referenced by statefulhelper::cancelReservation(), and statefulhelper::reserveServer().

◆ closePipesSafely()

void Helper::SessionBase::closePipesSafely ( const char *  name)
inherited

Closes pipes to the helper safely. Handles the case where the read and write pipes are the same FD.

Parameters
namedisplayed for the helper being shutdown if logging an error

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 ( const char *  name)
inherited

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.

Parameters
namedisplayed for the helper being shutdown if logging an error

Definition at line 100 of file helper.cc.

References DBG_IMPORTANT, debugs, getCurrentTime(), hIpc, and pid.

Referenced by helperReturnBuffer(), and helperStatefulServerDone().

◆ dropQueued()

void Helper::SessionBase::dropQueued ( )
virtualinherited

Reimplemented in Helper::Session.

Definition at line 126 of file helper.cc.

References cbdataReferenceValidDone, and Helper::Unknown.

Referenced by Helper::Session::dropQueued(), and HelperServerClosed().

◆ finalizedInCbdataChild()

virtual void CbdataParent::finalizedInCbdataChild ( )
privatepure virtualinherited

◆ HelperServerClosed()

void helper_stateful_server::HelperServerClosed ( helper_stateful_server srv)
static

◆ initStats()

void Helper::SessionBase::initStats ( )
inherited

Definition at line 62 of file helper.cc.

References Helper::SessionBase::stats.

Referenced by helperStatefulOpenServers().

◆ reserve()

void helper_stateful_server::reserve ( )

Definition at line 635 of file helper.cc.

References assert, debugs, Helper::ReservationId::Next(), and squid_curtime.

Referenced by statefulhelper::reserveServer().

◆ reserved()

bool helper_stateful_server::reserved ( )
inlineoverridevirtual

◆ toCbdata()

virtual void * CbdataParent::toCbdata ( )
pure virtualinherited

Member Data Documentation

◆ addr

Ip::Address Helper::SessionBase::addr
inherited

Definition at line 211 of file helper.h.

Referenced by helperStatefulOpenServers().

◆ answer_time

struct timeval Helper::SessionBase::answer_time
inherited

Definition at line 221 of file helper.h.

Referenced by helperReturnBuffer(), and helperStatefulHandleRead().

◆ dispatch_time

struct timeval Helper::SessionBase::dispatch_time
inherited

Definition at line 220 of file helper.h.

Referenced by helperReturnBuffer(), helperStatefulDispatch(), and helperStatefulHandleRead().

◆ flags

◆ hIpc

void* Helper::SessionBase::hIpc
inherited

Definition at line 214 of file helper.h.

Referenced by helperStatefulOpenServers().

◆ index

const InstanceId<SessionBase> Helper::SessionBase::index
inherited

◆ link

dlink_node Helper::SessionBase::link
inherited

Definition at line 223 of file helper.h.

Referenced by helperStatefulOpenServers().

◆ parent

◆ pending

◆ pid

int Helper::SessionBase::pid
inherited

Definition at line 210 of file helper.h.

Referenced by helperStatefulOpenServers().

◆ rbuf

char* Helper::SessionBase::rbuf
inherited

Definition at line 216 of file helper.h.

Referenced by helperStatefulHandleRead(), and helperStatefulOpenServers().

◆ rbuf_sz

size_t Helper::SessionBase::rbuf_sz
inherited

◆ readPipe

Comm::ConnectionPointer Helper::SessionBase::readPipe
inherited

Definition at line 212 of file helper.h.

Referenced by helperStatefulHandleRead(), and helperStatefulOpenServers().

◆ releases

uint64_t Helper::SessionBase::releases
inherited

Definition at line 238 of file helper.h.

◆ replies

uint64_t Helper::SessionBase::replies
inherited

◆ requests

Requests Helper::SessionBase::requests
inherited

Definition at line 232 of file helper.h.

Referenced by helperDispatch(), helperStatefulDispatch(), and helperStatefulHandleRead().

◆ reservationId

◆ reservationStart

time_t helper_stateful_server::reservationStart

Definition at line 321 of file helper.h.

Referenced by helperStatefulOpenServers(), and StatefulGetFirstAvailable().

◆ roffset

size_t Helper::SessionBase::roffset
inherited

Definition at line 218 of file helper.h.

Referenced by helperStatefulHandleRead(), and helperStatefulOpenServers().

◆ 

◆ timedout

uint64_t Helper::SessionBase::timedout
inherited

Definition at line 239 of file helper.h.

◆ uses

uint64_t Helper::SessionBase::uses
inherited

Definition at line 235 of file helper.h.

Referenced by helperDispatch(), and helperStatefulDispatch().

◆ writePipe

Comm::ConnectionPointer Helper::SessionBase::writePipe
inherited

Definition at line 213 of file helper.h.

Referenced by helperDispatch(), helperStatefulDispatch(), and helperStatefulOpenServers().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors