Sha256: 4a8cf868119a5197a63c5e026e093d72bd9cce5c5a4ffd7231630dc0d48a4bb3
Contents?: true
Size: 922 Bytes
Versions: 2
Compression:
Stored size: 922 Bytes
Contents
class Etcdv3::Namespace class Lock include GRPC::Core::TimeConsts include Etcdv3::Namespace::Utilities def initialize(hostname, credentials, timeout, namespace, metadata = {}) @stub = V3lockpb::Lock::Stub.new(hostname, credentials) @timeout = timeout @namespace = namespace @metadata = metadata end def lock(name, lease_id, timeout: nil) name = prepend_prefix(@namespace, name) request = V3lockpb::LockRequest.new(name: name, lease: lease_id) resp = @stub.lock(request, deadline: deadline(timeout)) strip_prefix_from_lock(@namespace, resp) end def unlock(key, timeout: nil) key = prepend_prefix(@namespace, key) request = V3lockpb::UnlockRequest.new(key: key) @stub.unlock(request, deadline: deadline(timeout)) end private def deadline(timeout) from_relative_time(timeout || @timeout) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
etcdv3-0.11.4 | lib/etcdv3/namespace/lock.rb |
etcdv3-0.11.3 | lib/etcdv3/namespace/lock.rb |