File Coverage

blib/lib/Search/Elasticsearch/CxnPool/Async/Static/NoPing.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             # Licensed to Elasticsearch B.V. under one or more contributor
2             # license agreements. See the NOTICE file distributed with
3             # this work for additional information regarding copyright
4             # ownership. Elasticsearch B.V. licenses this file to you under
5             # the Apache License, Version 2.0 (the "License"); you may
6             # not use this file except in compliance with the License.
7             # You may obtain a copy of the License at
8             #
9             # http://www.apache.org/licenses/LICENSE-2.0
10             #
11             # Unless required by applicable law or agreed to in writing,
12             # software distributed under the License is distributed on an
13             # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14             # KIND, either express or implied. See the License for the
15             # specific language governing permissions and limitations
16             # under the License.
17              
18             package Search::Elasticsearch::CxnPool::Async::Static::NoPing;
19             $Search::Elasticsearch::CxnPool::Async::Static::NoPing::VERSION = '7.715';
20 7     7   408886 use Moo;
  7         16  
  7         40  
21             with 'Search::Elasticsearch::Role::CxnPool::Static::NoPing',
22             'Search::Elasticsearch::Role::Is_Async';
23              
24 7     7   2497 use Promises qw(deferred);
  7         22  
  7         57  
25 7     7   1898 use Try::Tiny;
  7         16  
  7         457  
26 7     7   43 use namespace::clean;
  7         12  
  7         47  
27              
28             #===================================
29             around 'next_cxn' => sub {
30             #===================================
31             my ( $orig, $self ) = @_;
32              
33             my $deferred = deferred;
34             try {
35             my $cxn = $orig->($self);
36             $deferred->resolve($cxn);
37             }
38             catch {
39             $deferred->reject($_);
40             };
41              
42             $deferred->promise;
43              
44             };
45              
46             1;
47              
48             # ABSTRACT: An async CxnPool for connecting to a remote cluster without the ability to ping.
49              
50             __END__