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