Provided by: libsearch-elasticsearch-perl_5.01-1_all bug

NAME

       Search::Elasticsearch::Role::CxnPool::Sniff - A CxnPool role for connecting to a local
       cluster with a dynamic node list

VERSION

       version 5.01

CONFIGURATION

   "sniff_interval"
       How often should we perform a sniff in order to detect whether new nodes have been added
       to the cluster.  Defaults to `300` seconds.

   "sniff_max_content_length"
       Whether we should set the max_content_length dynamically while sniffing. Defaults to true
       unless a fixed "max_content_length" was specified.

METHODS

   "schedule_check()"
           $cxn_pool->schedule_check

       Schedules a sniff before the next request is processed.

   "parse_sniff()"
           $bool = $cxn_pool->parse_sniff(\%nodes);

       Parses the response from a sniff request and extracts the hostname/ip of all listed nodes,
       filtered through "should_accept_node()". If any live nodes are found, they are passed to
       "set_cxns()" in Search::Elasticsearch::Role::CxnPool.  The max_content_length is also
       detected if "sniff_max_content_length" is true.

   "should_accept_node()"
           $host = $cxn_pool->should_accept_node($host,$node_id,\%node_data)

       This method serves as a hook which can be overridden by the user.  When a sniff is
       performed, this method is called with the "host" (eg "192.168.5.100:9200"), the "node_id"
       (the ID assigned to the node by Elasticsearch) and the "node_data" which contains the
       information about the node that Elasticsearch has returned, eg:

           {
               "transport_address" => "inet[192.168.5.100/192.168.5.100:9300]",
               "http" : {
                  "publish_address"    => "inet[/192.168.5.100:9200]",
                  "max_content_length" => "100mb",
                  "bound_address"      => "inet[/0:0:0:0:0:0:0:0:9200]",
                  "max_content_length_in_bytes" : 104857600
               },
               "version"       => "0.90.4",
               "name"          => "Silver Sable",
               "hostname"      => "search1.domain.com",
               "http_address"  => "inet[/192.168.5.100:9200]"
           }

       If the node should be accepted (ie used to serve data), then it should return the "host"
       value to use.  By default, nodes are always accepted.

AUTHOR

       Clinton Gormley <drtech@cpan.org>

COPYRIGHT AND LICENSE

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

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004

perl v5.24.1                                2016-Search::Elasticsearch::Role::CxnPool::Sniff(3pm)