Sha256: ca5f3a22c8bcd88520ddadd8be518ecbb826f8650dae184b8fc1cb6807840af6
Contents?: true
Size: 728 Bytes
Versions: 5
Compression:
Stored size: 728 Bytes
Contents
class Etcdv3 class Lock include GRPC::Core::TimeConsts def initialize(hostname, credentials, timeout, metadata = {}) @stub = V3lockpb::Lock::Stub.new(hostname, credentials) @timeout = timeout @metadata = metadata end def lock(name, lease_id, timeout: nil) request = V3lockpb::LockRequest.new(name: name, lease: lease_id) @stub.lock(request, metadata: @metadata, deadline: deadline(timeout)) end def unlock(key, timeout: nil) request = V3lockpb::UnlockRequest.new(key: key) @stub.unlock(request, metadata: @metadata, deadline: deadline(timeout)) end private def deadline(timeout) from_relative_time(timeout || @timeout) end end end
Version data entries
5 entries across 5 versions & 2 rubygems