MCPcopy Create free account
hub / github.com/acl-dev/acl / check_conns

Method check_conns

lib_acl_cpp/src/connpool/connect_manager.cpp:458–491  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

456}
457
458size_t connect_manager::check_conns(size_t step, bool check_idle,
459 bool kick_dead, bool keep_conns, thread_pool* threads, size_t* left)
460{
461 std::vector<connect_pool*> pools;
462
463 pools_dump(step, pools);
464 if (pools.empty()) {
465 if (left) {
466 *left = 0;
467 }
468 return 0;
469 }
470
471 size_t nfreed = 0;
472
473 if (check_idle) {
474 nfreed += check_idle_conns(pools);
475 }
476
477 if (kick_dead) {
478 nfreed += check_dead_conns(pools, threads);
479 }
480
481 if (keep_conns) {
482 keep_min_conns(pools, threads);
483 }
484
485 size_t nleft = pools_release(pools);
486
487 if (left) {
488 *left = nleft;
489 }
490 return nfreed;
491}
492
493size_t connect_manager::check_idle_conns(const std::vector<connect_pool*>& pools)
494{

Callers 1

timer_callbackMethod · 0.80

Calls 1

emptyMethod · 0.45

Tested by

no test coverage detected