Lines Matching refs:bec
114 struct mcp_backendconn_s *bec = &be->be[0]; in proxy_choose_beconn() local
130 bec = bec_i; in proxy_choose_beconn()
134 bec = bec_i; in proxy_choose_beconn()
139 return bec; in proxy_choose_beconn()
175 struct mcp_backendconn_s *bec = &be->be[x]; in _cleanup_backend() local
178 int pending = event_pending(&bec->main_event, EV_READ|EV_WRITE|EV_TIMEOUT, NULL); in _cleanup_backend()
180 event_del(&bec->main_event); // an error to call event_del() without event. in _cleanup_backend()
182 pending = event_pending(&bec->write_event, EV_READ|EV_WRITE|EV_TIMEOUT, NULL); in _cleanup_backend()
184 event_del(&bec->write_event); // an error to call event_del() without event. in _cleanup_backend()
186 pending = event_pending(&bec->timeout_event, EV_TIMEOUT, NULL); in _cleanup_backend()
188 event_del(&bec->timeout_event); // an error to call event_del() without event. in _cleanup_backend()
192 assert(STAILQ_EMPTY(&bec->io_head)); in _cleanup_backend()
194 mcp_tls_shutdown(bec); in _cleanup_backend()
195 mcmc_disconnect(bec->client); in _cleanup_backend()
197 if (bec->bad) { in _cleanup_backend()
198 mcp_sharedvm_delta(bec->event_thread->ctx, SHAREDVM_BACKEND_IDX, in _cleanup_backend()
199 bec->be_parent->label, -1); in _cleanup_backend()
203 free(bec->client); in _cleanup_backend()
205 free(bec->rbuf); in _cleanup_backend()
213 struct mcp_backendconn_s *bec = &be->be[x]; in _setup_backend() local
223 int status = mcmc_connect(bec->client, be->name, be->port, bec->connect_flags); in _setup_backend()
230 …event_assign(&bec->main_event, bec->event_thread->base, mcmc_fd(bec->client), EV_WRITE|EV_TIMEOUT,… in _setup_backend()
231 …event_assign(&bec->write_event, bec->event_thread->base, mcmc_fd(bec->client), EV_WRITE|EV_TIMEOUT… in _setup_backend()
232 … event_assign(&bec->timeout_event, bec->event_thread->base, -1, EV_TIMEOUT, _backend_handler, bec); in _setup_backend()
238 bec->connecting = true; in _setup_backend()
239 bec->can_write = false; in _setup_backend()
241 event_add(&bec->main_event, &bec->tunables.connect); in _setup_backend()
243 _reset_bad_backend(bec, P_BE_FAIL_CONNECTING); in _setup_backend()
318 struct mcp_backendconn_s *bec = proxy_choose_beconn(be); in proxy_run_backend_queue() local
321 if (bec->bad) { in proxy_run_backend_queue()
325 } else if (limit && bec->depth > limit) { in proxy_run_backend_queue()
326 proxy_ctx_t *ctx = bec->event_thread->ctx; in proxy_run_backend_queue()
333 STAILQ_CONCAT(&bec->io_head, &be->io_head); in proxy_run_backend_queue()
334 bec->depth += be->depth; in proxy_run_backend_queue()
337 if (bec->connecting || bec->validating) { in proxy_run_backend_queue()
340 if (!bec->ssl) { in proxy_run_backend_queue()
341 flags = _flush_pending_write(bec); in proxy_run_backend_queue()
343 flags = _flush_pending_tls_write(bec); in proxy_run_backend_queue()
347 _reset_bad_backend(bec, P_BE_FAIL_WRITING); in proxy_run_backend_queue()
350 _start_write_event(bec); in proxy_run_backend_queue()
353 if (bec->pending_read) { in proxy_run_backend_queue()
354 _start_timeout_event(bec); in proxy_run_backend_queue()