Etcd3

 view release on metacpan or  search on metacpan

lib/Etcd3/Lease.pm  view on Meta::CPAN

sub ttl {
    my $self = shift;
    $self->{endpoint} = '/kv/lease/timetolive';
    confess 'ID is required for ' . __PACKAGE__ . '->ttl'
      unless $self->{ID};
    $self->request;
    return $self;
}


=head2 keepalive

LeaseKeepAlive keeps the lease alive by streaming keep alive requests from the client
to the server and streaming keep alive responses from the server to the client."

$etcd->lease({{ ID => 7587821338341002662 })->keepalive

=cut

sub keepalive {
    my $self = shift;
    $self->{endpoint} = '/lease/keepalive';
    confess 'ID is required for ' . __PACKAGE__ . '->keepalive'
      unless $self->{ID};
    $self->request;
    return $self;
}

1;

t/lease.t  view on Meta::CPAN

cmp_ok( $lease->{response}{success}, '==', 1, "add lease to key success" );

my $key;

# validate key
lives_ok( sub { $key = $etcd->range( { key => 'foo2' } )->get_value },
    "check value for key" );

cmp_ok( $key, 'eq', 'bar2', "lease key value" );

# lease keep alive
lives_ok( sub {  $lease = $etcd->lease( { ID => 7587821338341002662 } )->keepalive },
    "lease_keep_alive" );

cmp_ok( $lease->{response}{success}, '==', 1, "reset lease keep alive success" );

# lease ttl
lives_ok( sub {  $lease = $etcd->lease( { ID => 7587821338341002662, keys => 1 } )->ttl },
    "lease_ttl" );

cmp_ok( $lease->{response}{success}, '==', 1, "return lease_ttl success" );

# revoke lease
lives_ok( sub {  $lease = $etcd->lease( { ID => 7587821338341002662 } )->revoke },
    "revoke lease" );

t/pod-spelling.t  view on Meta::CPAN

ErrCompaction
PutRequest
RangeRequest
DeleteRange
deleterange
LeaseGrant
LeaseKeepAlive
LeaseRevoke
LeaseTimeToLive
keepAlive
keepalive
TTL
ttl
greyskull
heman
linearizable
api
Batschelet
hexfusion
MemberAdd
MemberRemove



( run in 1.357 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )