#include <helper.h>

Inheritance diagram for HelperServerBase:
Collaboration diagram for HelperServerBase:

Classes

struct  _helper_flags
 

Public Types

typedef std::list
< Helper::Xaction * > 
Requests
 

Public Member Functions

void closePipesSafely (const char *name)
 
void closeWritePipeSafely (const char *name)
 
void initStats ()
 

Public Attributes

const InstanceId
< HelperServerBase
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
HelperServerBase::_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
 

Detailed Description

Fields shared between stateless and stateful helper servers.

Definition at line 149 of file helper.h.

Member Typedef Documentation

Definition at line 193 of file helper.h.

Member Function Documentation

void HelperServerBase::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 75 of file helper.cc.

References Comm::Connection::close(), HelperServerBase::_helper_flags::closing, DBG_IMPORTANT, debugs, Comm::Connection::fd, flags, getCurrentTime(), hIpc, index, pid, readPipe, and writePipe.

Referenced by helperHandleRead(), helperReturnBuffer(), helperShutdown(), helperStatefulHandleRead(), and helperStatefulShutdown().

void HelperServerBase::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 101 of file helper.cc.

References Comm::Connection::close(), HelperServerBase::_helper_flags::closing, DBG_IMPORTANT, debugs, Comm::Connection::fd, flags, getCurrentTime(), hIpc, index, pid, readPipe, and writePipe.

Referenced by helperServerFree(), helperStatefulServerDone(), and helperStatefulServerFree().

void HelperServerBase::initStats ( )

Definition at line 65 of file helper.cc.

References stats.

Referenced by helperOpenServers(), and helperStatefulOpenServers().

Member Data Documentation

Ip::Address HelperServerBase::addr

Definition at line 172 of file helper.h.

Referenced by helperOpenServers(), and helperStatefulOpenServers().

struct timeval HelperServerBase::answer_time

Definition at line 182 of file helper.h.

Referenced by helperReturnBuffer(), helperStatefulHandleRead(), and helper::packStatsInto().

struct timeval HelperServerBase::dispatch_time
void* HelperServerBase::hIpc
dlink_node HelperServerBase::link
int HelperServerBase::pid
uint64_t HelperServerBase::releases

Definition at line 200 of file helper.h.

Referenced by helperStatefulReleaseServer().

uint64_t HelperServerBase::replies
uint64_t HelperServerBase::timedout

Definition at line 201 of file helper.h.

Referenced by helperHandleRead(), and helper::packStatsInto().

uint64_t HelperServerBase::uses

Definition at line 197 of file helper.h.

Referenced by helperDispatch(), helperStatefulDispatch(), and helper::packStatsInto().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors