helper.cc File Reference
#include "squid.h"
#include "base/AsyncCbdataCalls.h"
#include "base/Packable.h"
#include "comm.h"
#include "comm/Connection.h"
#include "comm/Read.h"
#include "comm/Write.h"
#include "fd.h"
#include "fde.h"
#include "format/Quoting.h"
#include "helper.h"
#include "helper/Reply.h"
#include "helper/Request.h"
#include "MemBuf.h"
#include "SquidConfig.h"
#include "SquidIpc.h"
#include "SquidMath.h"
#include "SquidTime.h"
#include "Store.h"
#include "wordlist.h"
#include "mem/Pool.h"
Include dependency graph for helper.cc:

Go to the source code of this file.

Macros

#define HELPER_MAX_ARGS   64
 
#define MAX_RETRIES   2
 The maximum allowed request retries. More...
 

Functions

const size_t ReadBufSize (32 *1024)
 Helpers input buffer size. More...
 
static void helperServerFree (helper_server *srv)
 
static void helperStatefulServerFree (helper_stateful_server *srv)
 
static void Enqueue (helper *hlp, Helper::Xaction *r)
 Handles a request when all running helpers, if any, are busy. More...
 
static helper_serverGetFirstAvailable (const helper *hlp)
 
static helper_stateful_serverStatefulGetFirstAvailable (const statefulhelper *hlp)
 
static void helperDispatch (helper_server *srv, Helper::Xaction *r)
 
static void helperStatefulDispatch (helper_stateful_server *srv, Helper::Xaction *r)
 
static void helperKickQueue (helper *hlp)
 
static void helperStatefulKickQueue (statefulhelper *hlp)
 
static void helperStatefulServerDone (helper_stateful_server *srv)
 
static void StatefulEnqueue (statefulhelper *hlp, Helper::Xaction *r)
 
 InstanceIdDefinitions (HelperServerBase,"Hlpr")
 
void helperOpenServers (helper *hlp)
 
void helperStatefulOpenServers (statefulhelper *hlp)
 
static void SubmissionFailure (helper *hlp, HLPCB *callback, void *data)
 handles helperSubmit() and helperStatefulSubmit() failures More...
 
void helperSubmit (helper *hlp, const char *buf, HLPCB *callback, void *data)
 
void helperStatefulSubmit (statefulhelper *hlp, const char *buf, HLPCB *callback, void *data, helper_stateful_server *lastserver)
 lastserver = "server last used as part of a reserved request sequence" More...
 
void helperStatefulReleaseServer (helper_stateful_server *srv)
 
void helperShutdown (helper *hlp)
 
void helperStatefulShutdown (statefulhelper *hlp)
 
static void helperReturnBuffer (helper_server *srv, helper *hlp, char *msg, size_t msgSize, char *msgEnd)
 Calls back with a pointer to the buffer with the helper output. More...
 
static void helperHandleRead (const Comm::ConnectionPointer &conn, char *, size_t len, Comm::Flag flag, int, void *data)
 
static void helperStatefulHandleRead (const Comm::ConnectionPointer &conn, char *, size_t len, Comm::Flag flag, int, void *data)
 
static void helperDispatchWriteDone (const Comm::ConnectionPointer &, char *, size_t, Comm::Flag flag, int, void *data)
 
static void helperStatefulDispatchWriteDone (const Comm::ConnectionPointer &, char *, size_t, Comm::Flag, int, void *)
 

Variables

static IOCB helperHandleRead
 
static IOCB helperStatefulHandleRead
 

Macro Definition Documentation

#define HELPER_MAX_ARGS   64

Definition at line 35 of file helper.cc.

Referenced by helperOpenServers(), and helperStatefulOpenServers().

#define MAX_RETRIES   2

Definition at line 38 of file helper.cc.

Referenced by helper_server::checkForTimedOutRequests(), and helperReturnBuffer().

Function Documentation

static void helperKickQueue ( helper hlp)
static

Definition at line 1425 of file helper.cc.

References GetFirstAvailable(), helperDispatch(), and helper::nextRequest().

Referenced by helperOpenServers(), and helperReturnBuffer().

static void helperStatefulDispatchWriteDone ( const Comm::ConnectionPointer ,
char *  ,
size_t  ,
Comm::Flag  ,
int  ,
void *   
)
static

Definition at line 1374 of file helper.cc.

Referenced by helperStatefulDispatch().

static void helperStatefulHandleRead ( const Comm::ConnectionPointer conn,
char *  ,
size_t  len,
Comm::Flag  flag,
int  ,
void *  data 
)
static
static void helperStatefulKickQueue ( statefulhelper hlp)
static
void helperStatefulReleaseServer ( helper_stateful_server srv)

DPW 2007-05-08

helperStatefulReleaseServer tells the helper that whoever was using it no longer needs its services.

Definition at line 539 of file helper.cc.

References debugs, HelperServerBase::flags, helperStatefulServerDone(), HERE(), HelperServerBase::index, HelperServerBase::releases, HelperServerBase::_helper_flags::reserved, and HelperServerBase::stats.

Referenced by helperStatefulDispatch(), and helperStatefulHandleRead().

void helperStatefulSubmit ( statefulhelper hlp,
const char *  buf,
HLPCB callback,
void *  data,
helper_stateful_server lastserver 
)

Definition at line 490 of file helper.cc.

References SubmissionFailure(), and statefulhelper::trySubmit().

void helperSubmit ( helper hlp,
const char *  buf,
HLPCB callback,
void *  data 
)

Definition at line 397 of file helper.cc.

Referenced by constructHelperQuery().

InstanceIdDefinitions ( HelperServerBase  ,
"Hlpr"   
)
const size_t ReadBufSize ( 32 *  1024)
static void SubmissionFailure ( helper hlp,
HLPCB callback,
void *  data 
)
static

Definition at line 384 of file helper.cc.

References callback, debugs, Helper::Error, and Helper::Unknown.

Referenced by helperStatefulSubmit(), and helperSubmit().

Variable Documentation

IOCB helperHandleRead
static

Definition at line 43 of file helper.cc.

Referenced by helperHandleRead(), and helperOpenServers().

IOCB helperStatefulHandleRead
static

Definition at line 44 of file helper.cc.

Referenced by helperStatefulHandleRead(), and helperStatefulOpenServers().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors