helper.h
Go to the documentation of this file.
159 friend void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPCB * callback, void *data, const Helper::ReservationId & reservation);
164 void submit(const char *buf, HLPCB * callback, void *data, const Helper::ReservationId & reservation);
165 bool trySubmit(const char *buf, HLPCB * callback, void *data, const Helper::ReservationId & reservation);
324 void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPCB * callback, void *data, uint64_t reservation);
virtual helper * getParent() const override
the helper object that created this server
Definition: helper.h:283
Definition: wordlist.h:20
void syncQueueStats()
synchronizes queue-dependent measurements with the current queue state
Definition: helper.cc:492
Definition: ChildConfig.h:22
void helperStatefulOpenServers(statefulhelper *hlp)
Definition: helper.cc:332
helper_stateful_server * findServer(const Helper::ReservationId &reservation)
Definition: helper.cc:614
Definition: cbdata.h:293
struct helper::_stats stats
Definition: Request.h:19
virtual ~helper_stateful_server()
Definition: helper.cc:182
virtual void dropQueued()
dequeues and sends a Helper::Unknown answer to all queued requests
Definition: helper.cc:128
struct HelperServerBase::_helper_flags flags
friend void helperStatefulSubmit(statefulhelper *hlp, const char *buf, HLPCB *callback, void *data, const Helper::ReservationId &reservation)
Definition: helper.cc:567
void submit(const char *buf, HLPCB *callback, void *data)
dispatches or enqueues a helper requests; does not enforce queue limits
Definition: helper.cc:557
static void requestTimeout(const CommTimeoutCbParams &io)
Read timeout handler.
Definition: helper.cc:1556
Definition: helper.h:142
static void HelperServerClosed(helper_stateful_server *srv)
close handler to handle exited server processes
Definition: helper.cc:876
virtual bool reserved() override
whether the server is locked for exclusive use by a client
Definition: helper.h:281
virtual bool reserved() override
whether the server is locked for exclusive use by a client
Definition: helper.h:304
virtual void dropQueued() override
dequeues and sends a Helper::Unknown answer to all queued requests
Definition: helper.cc:176
CBDATA_CHILD(helper_stateful_server)
std::unordered_map< Helper::ReservationId, helper_stateful_server * > Reservations
Definition: helper.h:143
static void HelperServerClosed(helper_server *srv)
close handler to handle exited server processes
Definition: helper.cc:857
Definition: Packable.h:53
void submit(const char *buf, HLPCB *callback, void *data, const Helper::ReservationId &reservation)
Definition: helper.cc:645
void cancelReservation(const Helper::ReservationId reservation)
undo reserveServer(), clear the reservation and kick the queue
Definition: helper.cc:598
struct HelperServerBase::@72 stats
void helperStatefulSubmit(statefulhelper *hlp, const char *buf, HLPCB *callback, void *data, uint64_t reservation)
Definition: helper.h:220
Definition: helper.h:124
Definition: MemBuf.h:24
Definition: dlink.h:15
Definition: helper.h:64
std::map< uint64_t, Requests::iterator > RequestIndex
Definition: helper.h:266
Definition: Reply.h:30
a (temporary) lock on a (stateful) helper channel
Definition: ReservationId.h:18
void packStatsInto(Packable *p, const char *label=NULL) const
Dump some stats about the helper state to a Packable object.
Definition: helper.cc:677
friend void helperSubmit(helper *hlp, const char *buf, HLPCB *callback, void *data)
Definition: helper.cc:473
CBDATA_CHILD(helper_server)
Definition: dlink.h:24
void handleKilledServer(HelperServerBase *srv, bool &needsNewServers)
Definition: helper.cc:833
bool trySubmit(const char *buf, HLPCB *callback, void *data, const Helper::ReservationId &reservation)
reserved servers indexed by reservation IDs
Definition: helper.cc:575
virtual helper * getParent() const =0
the helper object that created this server
Definition: CommCalls.h:139
void helperSubmit(helper *hlp, const char *buf, HLPCB *callback, void *data)
Definition: helper.cc:473
bool queueFull() const
whether queuing an additional request would overload the helper
Definition: helper.cc:481
virtual bool reserved()=0
whether the server is locked for exclusive use by a client
MEMPROXY_CLASS(Helper::Xaction)
bool ignoreToEom
Whether to ignore current message, because it is timed-out or other reason.
Definition: helper.h:263
bool trySubmit(const char *buf, HLPCB *callback, void *data)
If possible, submit request. Otherwise, either kill Squid or return false.
Definition: helper.cc:546
void closeWritePipeSafely(const char *name)
Definition: helper.cc:102
Definition: Address.h:41
void checkForTimedOutRequests(bool const retry)
Definition: helper.cc:1517
virtual helper * getParent() const override
the helper object that created this server
Definition: helper.h:305