Beispiel #1
0
    def __init__(self,
                 client,
                 key,
                 event_handler,
                 is_prefix=False,
                 start_revision=0,
                 spin_pause=None):
        self._client = client
        self._key = key
        self._is_prefix = is_prefix
        self._start_revision = start_revision
        self._event_handler = event_handler
        self._spin_pause = spin_pause or _DEFAULT_SPIN_PAUSE

        watch_create_rq = WatchCreateRequest(key=_utils.to_bytes(key),
                                             start_revision=start_revision)

        if is_prefix:
            watch_create_rq.range_end = _utils.range_end(watch_create_rq.key)

        self._watch_rq = WatchRequest(create_request=watch_create_rq)

        self._name = 'watcher_' + key
        self._stop = False
        self._thread = Thread(name=self._name, target=self._run)
        self._thread.daemon = True
Beispiel #2
0
def _assert_get_one(want, range_rs):
    comment = 'Want %s, got %s' % (want, range_rs)
    if want is None:
        eq_(0, range_rs.count, comment)
        return

    eq_(1, range_rs.count, comment)
    eq_(_utils.to_bytes(want), range_rs.kvs[0].value, comment)
Beispiel #3
0
    def get(self,
            key,
            is_prefix=False,
            limit=0,
            sort_order=SortOrder.NONE,
            sort_target=SortTarget.KEY):
        rq = RangeRequest(key=_utils.to_bytes(key),
                          limit=limit,
                          sort_order=sort_order.value,
                          sort_target=sort_target.value)
        if is_prefix:
            rq.range_end = _utils.range_end(rq.key)

        return self._kv_stub.Range(rq, timeout=self._timeout)
Beispiel #4
0
    def delete(self, key, is_prefix=False):
        rq = DeleteRangeRequest(key=_utils.to_bytes(key))
        if is_prefix:
            rq.range_end = _utils.range_end(rq.key)

        return self._kv_stub.DeleteRange(rq, timeout=self._timeout)
Beispiel #5
0
 def put(self, key, val, lease_id=None):
     rq = PutRequest(key=_utils.to_bytes(key),
                     value=_utils.to_bytes(val),
                     lease=lease_id)
     return self._kv_stub.Put(rq, timeout=self._timeout)
Beispiel #6
0
def _assert_event(t, k, v, got):
    eq_((t, _utils.to_bytes(k), _utils.to_bytes(v)),
        (got.type, got.kv.key, got.kv.value))