Sha256: 440b317434f22dbef66b2686fdc95dcd5233d82dee24dd740d7e993238d01340

Contents?: true

Size: 655 Bytes

Versions: 1

Compression:

Stored size: 655 Bytes

Contents

class Etcdv3
  class Watch

    def initialize(hostname, credentials, metadata = {})
      @stub = Etcdserverpb::Watch::Stub.new(hostname, credentials)
      @metadata = metadata
    end

    def watch(key, range_end, block)
      create_req = Etcdserverpb::WatchCreateRequest.new(key: key, range_end: range_end)
      watch_req = Etcdserverpb::WatchRequest.new(create_request: create_req)
      events = nil
      @stub.watch([watch_req]).each do |resp|
        next if resp.events.empty?
        if block
          block.call(resp.events)
        else
          events = resp.events
          break
        end
      end
      events
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
etcdv3-0.4.0 lib/etcdv3/watch.rb