view release on metacpan or search on metacpan
t/lib/Local/HTTP/Tiny/Mock.pm view on Meta::CPAN
'content-type' => 'text/yaml',
'x-timer' => 'S1506018172.065497,VS0,VE2',
'x-cache-hits' => '1, 1',
'content-length' => '12653',
'date' => 'Thu, 21 Sep 2017 18:22:52 GMT',
'connection' => 'keep-alive',
'x-cache' => 'HIT, HIT',
'age' => '130393',
'via' => [
'1.1 varnish',
'1.1 varnish'
t/lib/Local/HTTP/Tiny/Mock.pm view on Meta::CPAN
'via' => [
'1.1 varnish',
'1.1 varnish'
],
'fastly-debug-digest' => 'abe8f8abc3c33a054b261732aa0cb98d62f1ca227a5aafd2fa53981ccd3d1f62',
'connection' => 'keep-alive',
'x-served-by' => 'cache-sjc3151-SJC, cache-hhn1538-HHN',
'x-timer' => 'S1506021365.113918,VS0,VE208',
'x-cache-hits' => '0, 0',
'x-runtime' => '0.046718',
'content-length' => '10',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/CheckVersionIncrement.pm view on Meta::CPAN
### $pkg
my $pkg_version = version->parse($self->zilla->version);
my $indexed_version;
my $ua = LWP::UserAgent->new(keep_alive => 1);
$ua->env_proxy;
my $res = $ua->get("http://cpanidx.org/cpanidx/json/mod/$pkg");
if ($res->is_success) {
my $yaml_octets = encode_utf8($res->decoded_content);
my $payload = JSON::PP->new->decode($yaml_octets);
view all matches for this distribution
view release on metacpan or search on metacpan
t/01-Provider/01-boolean-attrs.t view on Meta::CPAN
use Path::Tiny qw( path );
use Test::DZil qw( simple_ini Builder );
use lib 't/lib';
# Keepalive
my $builder;
sub make_plugin {
my @args = @_;
$builder = Builder->from_config(
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/ModuleInstall.pm view on Meta::CPAN
with 'Dist::Zilla::Role::BuildRunner';
with 'Dist::Zilla::Role::InstallTool';
with 'Dist::Zilla::Role::TextTemplate';
# no broken tempdir, keepalive_fail helper
use Dist::Zilla::Role::Tempdir 1.001000;
with 'Dist::Zilla::Role::Tempdir';
with 'Dist::Zilla::Role::PrereqSource';
with 'Dist::Zilla::Role::TestRunner';
lib/Dist/Zilla/Plugin/ModuleInstall.pm view on Meta::CPAN
my $error_load = 'Error running Makefile.PL for Module::Install. ';
my $no_keepalive = $error_load . 'Set MI_KEEPALIVE=1 if you want to retain the directory for analysis';
my $keepalive = $error_load . 'Inspect the temporary directory to determine cause';
sub setup_installer {
my ( $self, ) = @_;
my $file = Dist::Zilla::File::FromCode->new( { name => 'Makefile.PL', code => sub { _generate_makefile_pl($self) }, } );
lib/Dist/Zilla/Plugin/ModuleInstall.pm view on Meta::CPAN
my $code = sub {
my ($dir) = @_;
system $^X, 'Makefile.PL' and do {
croak($no_keepalive) unless $ENV{MI_KEEPALIVE};
$dir->keepalive_fail($keepalive);
};
};
my (@generated) = $self->capture_tempdir($code);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Dist/Zilla/Tempdir/Dir.pm view on Meta::CPAN
sub keepalive {
my $nargs = my ( $self, $keep ) = @_;
my $path = $self->_tempdir;
if ( $nargs < 2 ) {
lib/Dist/Zilla/Tempdir/Dir.pm view on Meta::CPAN
sub keepalive_fail {
my ( $self, $message ) = @_;
if ( not $message ) {
$message = q[];
}
else {
$message .= qq[\n];
}
$message .= q[Role::Tempdir's scratch directory preserved at ] . $self->keepalive(1);
croak $message;
}
no Moose;
__PACKAGE__->meta->make_immutable;
lib/Dist/Zilla/Tempdir/Dir.pm view on Meta::CPAN
return 1;
});
Enter the temporary directory and run the passed code block, which is assumed to be creating/modifying/deleting files.
=head2 C<keepalive>
Utility method: Marks the temporary directory for preservation.
$dir->keepalive() # simply returns the path to the tempdir
$dir->keepalive(1) # mark for retention
$dir->keepalive(0) # mark for erasure
This is mostly an insane glue layer for
$dir->_tempdir->[Path::Tiny::TEMP]->unlink_on_destroy($x)
Except the insanity of poking too many internal guts is well encapsulated.
=head2 C<keepalive_fail>
A utility method to invoke a croak (heh) that preserves the scratch directory, and tells
the croak recipient where to find it.
$dir->keepalive_fail();
$dir->keepalive_fail("Some Diagnostic Reason");
=head1 AUTHOR
Kent Fredric <kentnl@cpan.org>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Dita/GB/Standard.pm view on Meta::CPAN
use utf8;
sub useWords{0} #r Use word representation of md5 sum if true
# Each word is 5 characters long so we can gain 5 bits per word using capitalization. There are 2177 words below or 11 bits - enough room to reach 16 bits per word with the 5 extra from capitalization.
my @words = qw(aback abate abbey abhor abide abort about above abuse abyss acorn acrid actor acute adage adapt adept admit adobe adopt adore adorn adult affix after again agent agile aging agony agree ahead aisle alarm album aleck alert algae alias a...
!useWords or @words > 2**11 or confess "Not enough words";
sub hex4ToBits($) #P Represent 4 hex digits as (1, 1, 1, 1, 1, 12) bits
{my ($h) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
t/05_pagination.t view on Meta::CPAN
headers => {
'docker-distribution-api-version' => 'registry/2.0',
'date' => 'Wed, 21 Oct 2015 07:28:00 GMT',
'transfer-encoding' => 'chunked',
'content-type' => 'text/plain; charset=utf-8',
'connection' => 'keep-alive',
$args->{last}
? (link => "<https://my.awesome.registry/v2/my-repository/tags/list?last=$args->{last}&n=1000>; rel='next'")
: (),
},
content => $args->{content}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Docs/US_DOD/STD490A.pm view on Meta::CPAN
(detail design) specifications under a single specification number
as Part I and Part II respectively, may be selected as a contracting
agency option. This practice requires both parts for a complete
definition of both performance requirements and detailed design
requirements governing fabrication. Under this practice, the development
specification remains alive during the life of the HWCI as the
complete statement of performance requirements. Proposed design
changes must be evaluated against both the product fabrication
and the development parts of the specification. To emphasize the
fact that two parts exist, both parts shall be identified by the
same specification number and each part shall be further identified
view all matches for this distribution
view release on metacpan or search on metacpan
App-Domain-1.230280/_Deparsed_XSubs.pm view on Meta::CPAN
sub flag;
sub hostkey_hash;
sub hostname;
sub inet_aton;
sub inet_ntoa;
sub keepalive_config;
sub keepalive_send;
sub known_hosts;
sub listen;
sub pack_sockaddr_in6;
sub pack_sockaddr_in;
sub pack_sockaddr_un;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Doubly/Linked.xs view on Meta::CPAN
if (_is_undef(self)) {
return;
}
/* Collect all nodes first, incrementing refcounts to keep them alive */
AV * nodes = newAV();
self = _goto_start(self);
HV * hash = (HV*)SvRV(self);
av_push(nodes, SvREFCNT_inc(self));
view all matches for this distribution
view release on metacpan or search on metacpan
ok my $fans = $result->{fans};
is scalar @{$fans->list}, 5, "Fans data is correct";
is $drac_client->isAlive(), 1, "Session is still alive";
ok my $drac_client_bis = DracPerl::Client->new(
{ user => "dummy",
password => "dummy",
url => $ENV{DRAC_URL} || "https://dracip",
view all matches for this distribution
view release on metacpan or search on metacpan
'"\$status" \$body_bytes_sent';
$access_log
sendfile on;
keepalive_timeout 65;
perl_modules $base_path/lib;
$perl_requires
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Dubber/API.pm view on Meta::CPAN
return LWP::UserAgent->new(
agent => $self->user_agent,
cookie_jar => $self->cookies,
timeout => $self->timeout,
con_cache => $self->connection_cache,
keep_alive => 1,
ssl_opts => { verify_hostname => $self->strict_ssl },
);
}
# ------------------------------------------------------------------------
view all matches for this distribution
view release on metacpan or search on metacpan
./website2ebook.pl http://www.turbozen.com/sourceCode/TinyLisp/
./website2ebook.pl http://en.wikipedia.org/wiki/Unix_philosophy
./website2ebook.pl http://www.kanneganti.com/technical/architect
./website2ebook.pl http://jessicamah.com/blog/?p=641
./website2ebook.pl http://en.wikipedia.org/wiki/Worse_is_better
./website2ebook.pl http://www.netalive.org/tinkering/serious-perl/
./website2ebook.pl http://www.icbs.com/kb/inspiration/kb_inspiration-9-ways-to-motivate-yourself.htm
view all matches for this distribution
view release on metacpan or search on metacpan
script/ecs_chk_com view on Meta::CPAN
# check time since last communication sent to node
if(($current_time - $last_out) > $t_chk_min)
{
print "$DEBUG_LABEL sending READY message to node $node_id\n"
if $ECS_CFG->ECS_DEBUG > 0;
# send "I am alive" meta-message
$err = send_ecs_message($node_id, '',
"msg_type=READY\n",
((exists $node->{in_seq}) &&
((!exists $node->{ready_num_disabled}) ||
not is_yes($node->{ready_num_disabled}))
script/ecs_chk_com view on Meta::CPAN
((exists $node->{doc_out_seq}) &&
((!exists $node->{ready_num_disabled}) ||
not is_yes($node->{ready_num_disabled}))
? "last_sent_doc=" . $node->{doc_out_seq}
: "") . "\n",
"# Hello Partner, I am alive.\n");
if($err)
{
log_error("chk_com(): unable to send READY meta-message " .
"to node $node_id: $err");
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/dracula.DOS.txt view on Meta::CPAN
they cried and sobbed in a hysterical manner. I was stern with them,
however, and would not let them talk. I told them that one life was
bad enough to lose, and if they delayed they would sacrifice Miss
Lucy. So, sobbing and crying they went about their way, half clad as
they were, and prepared fire and water. Fortunately, the kitchen and
boiler fires were still alive, and there was no lack of hot water. We
got a bath and carried Lucy out as she was and placed her in it.
Whilst we were busy chafing her limbs there was a knock at the hall
door. One of the maids ran off, hurried on some more clothes, and
opened it. Then she returned and whispered to us that there was a
gentleman who had come with a message from Mr. Holmwood. I bade her
t/dracula.DOS.txt view on Meta::CPAN
"About ten days."
"Ten days! Then I guess, Jack Seward, that that poor pretty creature
that we all love has had put into her veins within that time the blood
of four strong men. Man alive, her whole body wouldn't hold it." Then
coming close to me, he spoke in a fierce half-whisper. "What took it
out?"
I shook my head. "That," I said, "is the crux. Van Helsing is simply
frantic about it, and I am at my wits' end. I can't even hazard a
t/dracula.DOS.txt view on Meta::CPAN
"Yes, and it was a sweet and comforting idea for him."
"Quite so. But there was a difficulty, friend John. If so that, then
what about the others? Ho, ho! Then this so sweet maid is a
polyandrist, and me, with my poor wife dead to me, but alive by
Church's law, though no wits, all gone, even I, who am faithful
husband to this now-no-wife, am bigamist."
"I don't see where the joke comes in there either!" I said, and I did
not feel particularly pleased with him for saying such things. He
t/dracula.DOS.txt view on Meta::CPAN
then, can I expect Arthur, who know none of those things, to believe?
"He doubted me when I took him from her kiss when she was dying. I
know he has forgiven me because in some mistaken idea I have done
things that prevent him say goodbye as he ought, and he may think that
in some more mistaken idea this woman was buried alive, and that in
most mistake of all we have killed her. He will then argue back that
it is we, mistaken ones, that have killed her by our ideas, and so he
will be much unhappy always. Yet he never can be sure, and that is
the worst of all. And he will sometimes think that she he loved was
buried alive, and that will paint his dreams with horrors of what she
must have suffered, and again, he will think that we may be right, and
that his so beloved was, after all, an UnDead. No! I told him once,
and since then I learn much. Now, since I know it is all true, a
hundred thousand times more do I know that he must pass through the
bitter waters to reach the sweet. He, poor fellow, must have one hour
t/dracula.DOS.txt view on Meta::CPAN
After a pause Van Helsing went on, evidently with an effort, "Miss
Lucy is dead, is it not so? Yes! Then there can be no wrong to her.
But if she be not dead . . ."
Arthur jumped to his feet, "Good God!" he cried. "What do you mean?
Has there been any mistake, has she been buried alive?" He groaned in
anguish that not even hope could soften.
"I did not say she was alive, my child. I did not think it. I go no
further than to say that she might be UnDead."
"UnDead! Not alive! What do you mean? Is this all a nightmare, or
what is it?"
"There are mysteries which men can only guess at, which age by age
they may solve only in part. Believe me, we are now on the verge of
one. But I have not done. May I cut off the head of dead Miss Lucy?"
t/dracula.DOS.txt view on Meta::CPAN
A few minutes later I saw Morris step suddenly back from a corner,
which he was examining. We all followed his movements with our eyes,
for undoubtedly some nervousness was growing on us, and we saw a whole
mass of phosphorescence, which twinkled like stars. We all
instinctively drew back. The whole place was becoming alive with
rats.
For a moment or two we stood appalled, all save Lord Godalming, who
was seemingly prepared for such an emergency. Rushing over to the
great iron-bound oaken door, which Dr. Seward had described from the
t/dracula.DOS.txt view on Meta::CPAN
Looking fixedly at her, he commenced to make passes in front of her,
from over the top of her head downward, with each hand in turn. Mina
gazed at him fixedly for a few minutes, during which my own heart beat
like a trip hammer, for I felt that some crisis was at hand.
Gradually her eyes closed, and she sat, stock still. Only by the
gentle heaving of her bosom could one know that she was alive. The
Professor made a few more passes and then stopped, and I could see
that his forehead was covered with great beads of perspiration. Mina
opened her eyes, but she did not seem the same woman. There was a
far-away look in her eyes, and her voice had a sad dreaminess which
was new to me. Raising his hand to impose silence, the Professor
t/dracula.DOS.txt view on Meta::CPAN
of standing corn, was the work of centuries. Were another of the
Undead, like him, to try to do what he has done, perhaps not all the
centuries of the world that have been, or that will be, could aid him.
With this one, all the forces of nature that are occult and deep and
strong must have worked together in some wonderous way. The very
place, where he have been alive, Undead for all these centuries, is
full of strangeness of the geologic and chemical world. There are
deep caverns and fissures that reach none know whither. There have
been volcanoes, some of whose openings still send out waters of
strange properties, and gases that kill or make to vivify. Doubtless,
there is something magnetic or electric in some of these combinations
t/dracula.DOS.txt view on Meta::CPAN
she is with that devil's illness, right into the jaws of his
deathtrap? Not for the world! Not for Heaven or Hell!"
He became almost speechless for a minute, and then went on, "Do you
know what the place is? Have you seen that awful den of hellish
infamy, with the very moonlight alive with grisly shapes, and every
speck of dust that whirls in the wind a devouring monster in embryo?
Have you felt the Vampire's lips upon your throat?"
Here he turned to me, and as his eyes lit on my forehead he threw up
his arms with a cry, "Oh, my God, what have we done to have this
t/dracula.DOS.txt view on Meta::CPAN
MEMORANDUM BY ABRAHAM VAN HELSING
4 November.--This to my old and true friend John Seward, M.D.,
of Purfleet, London, in case I may not see him. It may
explain. It is morning, and I write by a fire which all
the night I have kept alive, Madam Mina aiding me. It is
cold, cold. So cold that the grey heavy sky is full of
snow, which when it falls will settle for all winter as the
ground is hardening to receive it. It seems to have affected
Madam Mina. She has been so heavy of head all day that she was
not like herself. She sleeps, and sleeps, and sleeps! She who
view all matches for this distribution
view release on metacpan or search on metacpan
t/TestUA.pm view on Meta::CPAN
my $error = q~HTTP/1.1 500 Internal Server Error
Content-Length: 21
Server: nginx
Date: Mon, 25 Feb 2019 15:04:37 GMT
Content-Type: text/plain
Connection: keep-alive
Internal Server Error
~;
my $epublisher = q~HTTP/1.1 200 OK
Connection: keep-alive
Content-Disposition: attachment; filename=epublisher.pod
Server: nginx
Content-Type: application/octet-stream
Content-Length: 5632
Set-Cookie: plack_session=1551107060.11834%3ABQoDAAAAAQoCZW4AAAAYdHVybmFyb3VuZC5pMThuLmxhbmd1YWdl%3A318133c1d65f272af9e793495f0eebb084ed2d66; path=/; expires=Mon, 25-Feb-2019 15:54:20 GMT
t/TestUA.pm view on Meta::CPAN
1;
__DATA__
HTTP/1.1 200 OK
Connection: keep-alive
Content-Disposition: attachment; filename=pdl.pod
Server: nginx
Content-Type: application/octet-stream
Content-Length: 5632
Set-Cookie: plack_session=1551107060.11834%3ABQoDAAAAAQoCZW4AAAAYdHVybmFyb3VuZC5pMThuLmxhbmd1YWdl%3A318133c1d65f272af9e793495f0eebb084ed2d66; path=/; expires=Mon, 25-Feb-2019 15:54:20 GMT
view all matches for this distribution
view release on metacpan or search on metacpan
eg/cancel_streaming.pl view on Meta::CPAN
#!/usr/bin/env perl
# Cancel a streaming select mid-flight from inside the on_data callback,
# once a condition is met. The connection stays alive for follow-up queries.
use strict;
use warnings;
use EV;
use EV::ClickHouse;
eg/cancel_streaming.pl view on Meta::CPAN
sub {
# Native cancel doesn't raise â the callback simply fires
# once the server acks with EndOfStream.
print "Cancelled after $blocks_seen blocks\n";
# The connection is still alive. Run a normal query.
$ch->query("select 1 + 1", sub {
my ($r) = @_;
print "Follow-up query: ", $r->[0][0], "\n";
EV::break;
});
view all matches for this distribution
view release on metacpan or search on metacpan
eg/distributed_mutex.pl view on Meta::CPAN
my $work_msg = $ARGV[1] // 'critical section';
my $work_time = $ARGV[2] // 5; # seconds the lock is held
my $lock_ttl = 10; # seconds; must exceed work_time + slack
my $client = EV::Etcd->new(endpoints => ['127.0.0.1:2379'], max_retries => 5);
my ($lease_id, $lock_key, $keepalive, $work_timer, $lease_died);
# 1. Lease for the lock â if we crash, the lock auto-releases after lock_ttl
$client->lease_grant($lock_ttl, sub {
my ($r, $err) = @_;
die "lease_grant: $err->{message}\n" if $err;
$lease_id = $r->{id};
say "[$$] lease=$lease_id ttl=${lock_ttl}s";
# 2. Refresh the lease while we work
$keepalive = $client->lease_keepalive($lease_id, sub {
my (undef, $kerr) = @_;
return unless $kerr;
# Lease died â our lock is gone. Bail out before we corrupt anything.
$lease_died = 1;
warn "[$$] keepalive lost ($kerr->{message}) â aborting work\n";
graceful_exit(2);
});
# 3. Acquire the lock. The etcd Lock RPC blocks server-side until
# granted. There's no client-side cancel for unary calls, so the
eg/distributed_mutex.pl view on Meta::CPAN
$lock_key = $lr->{key};
my $waited = time - $start;
say "[$$] acquired (waited ${waited}s) â running: $work_msg";
# 4. Do the work. Real code would do its critical section inside
# an ev_timer or similar so it remains async with the keepalive.
$work_timer = EV::timer($work_time, 0, sub {
return if $lease_died;
say "[$$] work complete â releasing lock";
graceful_exit(0);
});
view all matches for this distribution
view release on metacpan or search on metacpan
NULL, &ctx->abandoned);
int *is_freed = &guard->is_freed;
/* Counted before anything is dispatched: a task that completes the whole
operation synchronously runs cleanup, which drops the context's
reference, and only this one keeps the cell alive until we return it. */
evf_handle *h = NULL;
if (want_handle) {
h = evf_handle_new(aTHX_ NULL, EVF_KIND_PARALLEL);
evf_handle_attach(aTHX_ h, ctx);
ctx->h = h;
view all matches for this distribution
view release on metacpan or search on metacpan
eg/reconnect.pl view on Meta::CPAN
host => '127.0.0.1',
port => 4730,
reconnect => 1,
reconnect_delay => 500,
max_reconnect_attempts => 0, # unlimited
keepalive => 30,
on_connect => sub { warn "connected\n" },
on_disconnect => sub { warn "disconnected\n" },
on_error => sub { warn "error: @_\n" },
);
view all matches for this distribution
view release on metacpan or search on metacpan
That means that glib events will be dispatched with lowest priority, and
that you cannot call any glib main functions (or functions calling it) on
the default mainloop in highest-priority watchers and in lowest-priority
prepare watchers.
=item * EV::Glib watchers will (currently) keep the mainloop alive.
That means that, after loading this module, C<EV::loop> calls will never
return unless you call C<EV::unloop> explicitly. Future versions might fix
this problem so that Glib keeps the EV loop alive only when it has active
events waiting.
=cut
package EV::Glib;
view all matches for this distribution
view release on metacpan or search on metacpan
deps/hiredis/CHANGELOG.md view on Meta::CPAN
- Update for MinGW cross compile [@bit0fun](https://github.com/bit0fun) ([\#1127](https://github.com/redis/hiredis/pull/1127))
- fixed CPP build error with adapters/libhv.h [@mtdxc](https://github.com/mtdxc) ([\#1125](https://github.com/redis/hiredis/pull/1125))
- Fix protocol error
[@michael-grunder](https://github.com/michael-grunder),
[@mtuleika-appcast](https://github.com/mtuleika-appcast) ([\#1106](https://github.com/redis/hiredis/pull/1106))
- Use a windows specific keepalive function. [@michael-grunder](https://github.com/michael-grunder) ([\#1104](https://github.com/redis/hiredis/pull/1104))
- Fix CMake config path on Linux. [@xkszltl](https://github.com/xkszltl) ([\#989](https://github.com/redis/hiredis/pull/989))
- Fix potential fault at createDoubleObject [@afcidk](https://github.com/afcidk) ([\#964](https://github.com/redis/hiredis/pull/964))
- Fix some undefined behavior [@jengab](https://github.com/jengab) ([\#1091](https://github.com/redis/hiredis/pull/1091))
- Copy OOM errors to redisAsyncContext when finding subscribe callback [@bjosv](https://github.com/bjosv) ([\#1090](https://github.com/redis/hiredis/pull/1090))
- Maintain backward compatibility with our onConnect callback. [@michael-grunder](https://github.com/michael-grunder) ([\#1087](https://github.com/redis/hiredis/pull/1087))
view all matches for this distribution
view release on metacpan or search on metacpan
eg/transaction.pl view on Meta::CPAN
printf "committed transaction with %d records\n",
scalar @processed;
});
});
};
# keep ref alive
$kafka->{_eos_tick} = $tick;
$kafka->poll; # kick the fetch loop
});
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EV/MariaDB.pm view on Meta::CPAN
=over 4
=item B<Queueable>
C<query> can be called at any time the object is alive -- before connect
completes, while a utility op is running, or while other queries are
already in flight. Calls are pipelined and their callbacks fire in
FIFO order.
=item B<Exclusive>
lib/EV/MariaDB.pm view on Meta::CPAN
=head2 ping
$m->ping(sub { my ($ok, $err) = @_ });
Checks if the connection is alive.
=head2 select_db
$m->select_db($dbname, sub { my ($ok, $err) = @_ });
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EV/Memcached.pm view on Meta::CPAN
=item priority => $num (-2 to +2)
EV watcher priority. Higher = serviced before other EV watchers.
=item keepalive => $seconds
TCP keepalive idle time. Set to 0 to disable. Ignored on Unix sockets.
=back
=head3 Timeouts and flow control
lib/EV/Memcached.pm view on Meta::CPAN
The following options have a getter/setter of the same name (there are
no accessors for C<host>, C<port>, C<path>, C<username>, C<password>,
C<reconnect_delay>, C<max_reconnect_attempts>, or C<loop>). Calling
without arguments reads the current value; with one argument it writes
and (where meaningful, e.g. C<keepalive>) takes effect immediately.
=over
=item C<connect_timeout([$ms])>
lib/EV/Memcached.pm view on Meta::CPAN
=item C<resume_waiting_on_reconnect([$bool])>
=item C<priority([$num])>
=item C<keepalive([$seconds])>
=item C<reconnect_enabled>
Read-only; configure via C<reconnect>.
lib/EV/Memcached.pm view on Meta::CPAN
$mc->disconnect; # drains queues, fires on_disconnect
undef $mc;
If a callback closes over C<$mc> (a common mistake -- every reference
inside a callback closure keeps the object alive), break the cycle
before dropping the outer reference:
$mc->on_error(undef);
$mc->on_connect(undef);
$mc->on_disconnect(undef);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EV/Nats.pm view on Meta::CPAN
queue groups, and request/reply with an automatic shared inbox
subscription.
=head2 Connectivity
TCP and Unix-domain sockets; TCP keepalive; connect timeout; auto
reconnect with exponential backoff and jitter; subscription and
auto-unsub state restored on reconnect; cluster failover from INFO
C<connect_urls>; lame-duck-mode (leaf node graceful shutdown) callback;
graceful C<drain>.
lib/EV/Nats.pm view on Meta::CPAN
=item connect_timeout => Int (ms; 0 = none)
How long to wait for the TCP/TLS handshake before giving up.
=item keepalive => Int (seconds)
If set, enables C<SO_KEEPALIVE> with this idle interval.
=item priority => Int (-2 .. +2)
lib/EV/Nats.pm view on Meta::CPAN
Ask the server to send a 503 status reply when a request has no
responders, surfaced as the C<"no responders"> error in C<request>.
=item ping_interval => Int (ms, default 120000; 0 = disabled)
Client-initiated PING interval for keep-alive.
=item max_pings_outstanding => Int (default 2)
Maximum unacked PINGs before the connection is declared stale.
lib/EV/Nats.pm view on Meta::CPAN
priority([$num])
Get/set EV watcher priority.
=head2 keepalive
keepalive([$seconds])
Get/set TCP keepalive.
=head2 batch
batch($coderef)
lib/EV/Nats.pm view on Meta::CPAN
passing them.
=item * Do not let the C<EV::Nats> instance go out of scope (or be
explicitly C<undef>-ed) from inside a callback while that callback is
still executing. The callback closure normally references C<$nats>
(via C<< $nats->publish(...) >> etc.), which keeps it alive; if you
write a callback that does not capture C<$nats> and you C<undef> the
last outer reference inside that callback, Perl will run C<DESTROY>
mid-callback and free the underlying state. Any subsequent operation
on C<$nats> in that callback is undefined behavior.
view all matches for this distribution
view release on metacpan or search on metacpan
eg/notify.pl view on Meta::CPAN
my $conninfo = shift || $ENV{TEST_PG_CONNINFO} || 'dbname=postgres';
my $pg; $pg = EV::Pg->new(
conninfo => $conninfo,
keep_alive => 1,
on_error => sub { die "connection error: $_[0]\n" },
on_notify => sub {
my ($channel, $payload, $pid) = @_;
print "notification on '$channel': $payload (from pid $pid)\n";
EV::break;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EV/Redis.pm view on Meta::CPAN
$self->command_timeout($args{command_timeout}) if defined $args{command_timeout};
$self->max_pending($args{max_pending}) if defined $args{max_pending};
$self->waiting_timeout($args{waiting_timeout}) if defined $args{waiting_timeout};
$self->resume_waiting_on_reconnect($args{resume_waiting_on_reconnect}) if defined $args{resume_waiting_on_reconnect};
$self->priority($args{priority}) if defined $args{priority};
$self->keepalive($args{keepalive}) if defined $args{keepalive};
$self->prefer_ipv4($args{prefer_ipv4}) if exists $args{prefer_ipv4};
$self->prefer_ipv6($args{prefer_ipv6}) if exists $args{prefer_ipv6};
$self->source_addr($args{source_addr}) if defined $args{source_addr};
$self->tcp_user_timeout($args{tcp_user_timeout}) if defined $args{tcp_user_timeout};
$self->cloexec($args{cloexec}) if exists $args{cloexec};
lib/EV/Redis.pm view on Meta::CPAN
Priority for the underlying libev IO watchers. Higher priority watchers are
invoked before lower priority ones. Valid range is -2 (lowest) to +2 (highest),
with 0 being the default. See L<EV> documentation for details on priorities.
=item * keepalive => $seconds
Enable TCP keepalive with the specified interval in seconds. When enabled,
the OS will periodically send probes on idle connections to detect dead peers.
0 means disabled (default). Recommended for long-lived connections behind
NAT gateways or firewalls.
=item * prefer_ipv4 => $bool
lib/EV/Redis.pm view on Meta::CPAN
$redis->priority(1); # higher priority
$redis->priority(-1); # lower priority
$redis->priority(99); # clamped to 2
my $prio = $redis->priority; # get current priority
=head2 keepalive($seconds)
Get or set the TCP keepalive interval in seconds. When set, the OS sends
periodic probes on idle connections to detect dead peers. 0 means disabled
(default). When set to a positive value while connected, takes effect
immediately. Setting to 0 while connected records the preference for future
connections but does not disable keepalives on the current socket.
=head2 prefer_ipv4($bool)
Get or set IPv4 preference for DNS resolution. Mutually exclusive with
C<prefer_ipv6> (setting one clears the other). Takes effect on the next
view all matches for this distribution
view release on metacpan or search on metacpan
=item $active = $loop->run ([$flags])
Begin checking for events and calling callbacks. It returns when a
callback calls EV::break or the flags are nonzero (in which case the
return value is true) or when there are no active watchers which reference
the loop (keepalive is true), in which case the return value will be
false. The return value can generally be interpreted as "if true, there is
more work left to do".
The $flags argument can be one of the following:
If the watcher is pending, this function clears its pending status and
returns its C<$revents> bitset (as if its callback was invoked). If the
watcher isn't pending it does nothing and returns C<0>.
=item $previous_state = $w->keepalive ($bool)
Normally, C<EV::run> will return when there are no active watchers
(which is a "deadlock" because no progress can be made anymore). This is
convenient because it allows you to start your watchers (and your jobs),
call C<EV::run> once and when it returns you know that all your jobs are
as a long-living watcher (for example a DNS client module written by
somebody else even). Then you might want any outstanding requests to be
handled, but you would not want to keep C<EV::run> from returning just
because you happen to have this long-running UDP port watcher.
In this case you can clear the keepalive status, which means that even
though your watcher is active, it won't keep C<EV::run> from returning.
The initial value for keepalive is true (enabled), and you can change it
any time.
Example: Register an I/O watcher for some UDP socket but do not keep the
event loop from running just because of that watcher.
my $udp_socket = ...
my $udp_watcher = EV::io $udp_socket, EV::READ, sub { ... };
$udp_watcher->keepalive (0);
=item $loop = $w->loop
Return the loop that this watcher is attached to.
=item $w = $loop->io ($fileno_or_fh, $eventmask, $callback)
=item $w = $loop->io_ns ($fileno_or_fh, $eventmask, $callback)
As long as the returned watcher object is alive, call the C<$callback>
when at least one of events specified in C<$eventmask> occurs.
The $eventmask can be one or more of these constants ORed together:
EV::READ wait until read() wouldn't block anymore
view all matches for this distribution