Provided by: libsearch-elasticsearch-perl_8.00-1_all bug

NAME

       Search::Elasticsearch::Role::CxnPool - Provides common functionality to the CxnPool
       implementations

VERSION

       version 8.00

DESCRIPTION

       See the CxnPool implementations:

       •   Search::Elasticsearch::CxnPool::Static

       •   Search::Elasticsearch::CxnPool::Sniff

       •   Search::Elasticsearch::CxnPool::Static::NoPing

CONFIGURATION

       These configuration options should not be set by the user but are documented here for
       completeness.

   "randomize_cxns"
       By default, the order of cxns passed to "set_cxns()" is randomized before they are stored.
       Set "randomize_cxns" to a false value to disable.

METHODS

   "cxn_factory()"
           $factory = $cxn_pool->cxn_factory

       Returns the Search::Elasticsearch::Cxn::Factory object for creating a new $cxn instance.

   "logger()"
           $logger = $cxn_pool->logger

       Returns the Search::Elasticsearch::Role::Logger-based object, which defaults to
       Search::Elasticsearch::Logger::LogAny.

   "serializer()"
           $serializer = $cxn_pool->serializer

       Returns the Search::Elasticsearch::Role::Serializer-based object, which defaults to
       Search::Elasticsearch::Serializer::JSON.

   "current_cxn_num()"
           $num = $cxn_pool->current_cxn_num

       Returns the current cxn number, which is an offset into the array of cxns set by
       "set_cxns()".

   "cxns()"
           \@cxns = $cxn_pool->cxns;

       Returns the current list of Search::Elasticsearch::Role::Cxn-based cxn objects as set by
       "set_cxns()".

   "seed_nodes()"
           \@seed_nodes = $cxn_pool->seed_nodes

       Returns the list of "nodes" originally specified when calling "new()" in
       Search::Elasticsearch.

   "next_cxn_num()"
           $num = $cxn_pool->next_cxn_num;

       Returns the number of the next connection, in round-robin fashion.  Updates the
       "current_cxn_num()".

   "set_cxns()"
           $cxn_pool->set_cxns(@nodes);

       Takes a list of nodes, converts them into Search::Elasticsearch::Role::Cxn-based objects
       and makes them accessible via "cxns()".

   "request_ok()"
           $cxn_pool->request_ok($cxn);

       Called when a request by the specified $cxn object has completed successfully.  Marks the
       $cxn as live.

   "request_failed()"
           $should_retry = $cxn_pool->request_failed($cxn,$error);

       Called when a request by the specified $cxn object has failed. Returns 1 if the request
       should be retried or 0 if it shouldn't.

   "should_retry()"
           $bool = $cxn_pool->should_retry($error);

       Examines the error to decide whether the request should be retried or not.  By default,
       only "Search::Elasticsearch::Error::Cxn" in Search::Elasticsearch::Error errors are
       retried.

   "should_mark_dead()"
           $bool = $cxn_pool->should_mark_dead($error);

       Examines the error to decide whether the $cxn should be marked as dead or not.  By
       default, only "Search::Elasticsearch::Error::Cxn" in Search::Elasticsearch::Error errors
       cause a $cxn to be marked as dead.

   "cxns_str()"
           $str = $cxn_pool->cxns_str

       Returns all "cxns()" as a string for logging purposes.

   "cxns_seeds_str()"
           $str = $cxn_pool->cxns_seeeds_str

       Returns all "cxns()" and "seed_nodes()" as a string for logging purposes.

   "retries()"
           $retries = $cxn_pool->retries

       The number of times the current request has been retried.

   "reset_retries()"
           $cxn_pool->reset_retries;

       Called at the start of a new request to reset the retries count.

AUTHOR

       Enrico Zimuel <enrico.zimuel@elastic.co>

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2022 by Elasticsearch BV.

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004