represents a single helper process More...

#include <helper.h>

Inheritance diagram for Helper::SessionBase:
Collaboration diagram for Helper::SessionBase:

Classes

struct  _helper_flags
 

Public Types

using Requests = std::list< Xaction * >
 

Public Member Functions

 ~SessionBase () override
 
void closePipesSafely (const char *name)
 
void closeWritePipeSafely (const char *name)
 
virtual bool reserved ()=0
 whether the server is locked for exclusive use by a client More...
 
virtual void dropQueued (Client &)
 dequeues and sends an Unknown answer to all queued requests More...
 
void initStats ()
 
virtual void * toCbdata ()=0
 

Public Attributes

const InstanceId< SessionBaseindex
 
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

Definition at line 191 of file helper.h.

Member Typedef Documentation

◆ Requests

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

Definition at line 244 of file helper.h.

Constructor & Destructor Documentation

◆ ~SessionBase()

Helper::SessionBase::~SessionBase ( )
override

Definition at line 138 of file helper.cc.

References memFreeBuf().

Member Function Documentation

◆ closePipesSafely()

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

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)

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 ( Client client)
virtual

◆ finalizedInCbdataChild()

virtual void CbdataParent::finalizedInCbdataChild ( )
privatepure virtualinherited

◆ initStats()

void Helper::SessionBase::initStats ( )

Definition at line 62 of file helper.cc.

References stats.

Referenced by statefulhelper::openSessions().

◆ reserved()

virtual bool Helper::SessionBase::reserved ( )
pure virtual

◆ toCbdata()

virtual void * CbdataParent::toCbdata ( )
pure virtualinherited

Member Data Documentation

◆ addr

Ip::Address Helper::SessionBase::addr

Definition at line 224 of file helper.h.

Referenced by statefulhelper::openSessions().

◆ answer_time

struct timeval Helper::SessionBase::answer_time

Definition at line 234 of file helper.h.

Referenced by helperReturnBuffer(), and helperStatefulHandleRead().

◆ dispatch_time

struct timeval Helper::SessionBase::dispatch_time

Definition at line 233 of file helper.h.

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

◆ flags

◆ hIpc

void* Helper::SessionBase::hIpc

Definition at line 227 of file helper.h.

Referenced by statefulhelper::openSessions().

◆ index

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

◆ link

dlink_node Helper::SessionBase::link

Definition at line 236 of file helper.h.

Referenced by statefulhelper::openSessions().

◆ pending

◆ pid

int Helper::SessionBase::pid

Definition at line 223 of file helper.h.

Referenced by statefulhelper::openSessions().

◆ rbuf

char* Helper::SessionBase::rbuf

Definition at line 229 of file helper.h.

Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().

◆ rbuf_sz

size_t Helper::SessionBase::rbuf_sz

◆ readPipe

Comm::ConnectionPointer Helper::SessionBase::readPipe

Definition at line 225 of file helper.h.

Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().

◆ releases

uint64_t Helper::SessionBase::releases

Definition at line 251 of file helper.h.

◆ replies

uint64_t Helper::SessionBase::replies

◆ requests

Requests Helper::SessionBase::requests

Definition at line 245 of file helper.h.

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

◆ roffset

size_t Helper::SessionBase::roffset

Definition at line 231 of file helper.h.

Referenced by helperStatefulHandleRead(), and statefulhelper::openSessions().

◆ 

◆ timedout

uint64_t Helper::SessionBase::timedout

Definition at line 252 of file helper.h.

◆ uses

uint64_t Helper::SessionBase::uses

Definition at line 248 of file helper.h.

Referenced by helperDispatch(), and helperStatefulDispatch().

◆ writePipe

Comm::ConnectionPointer Helper::SessionBase::writePipe

Definition at line 226 of file helper.h.

Referenced by helperDispatch(), helperStatefulDispatch(), and statefulhelper::openSessions().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors