Commit Graph

41 Commits

Author SHA1 Message Date
Tao He b12fc293b9
Fixes memory leak issue inside the watcher (#197)
Signed-off-by: Tao He <sighingnow@gmail.com>
2023-03-05 23:08:10 +08:00
Tao He 10f3435c28
Enable keys() to list elements without fetching values from server (#184)
* Enable keys() to list elements without fetching values from server
* Add concurrency control and cancel to CI workflows

Signed-off-by: Tao He <sighingnow@gmail.com>
2023-01-10 15:00:34 +08:00
Tao He c7f17cdf0d Fixes the descirption in the docs, and revisit the order of test cases.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-10-18 09:21:06 +08:00
Tao He 1e72df7ca3 Add test cases and documentation to show that binary data as key/value works well.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-10-18 00:52:01 +08:00
Tao He 1fb5abac28
Implements the "etcdctl lease list" functionality (#174)
* Implements the "etcdctl lease list" functionalities.
* LeaseLeases requires etcd >= 3.3

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-10-13 00:04:18 +08:00
Tao He ab255467d0
Taking error code from grpc. (#172)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-10-09 10:25:50 +08:00
Tao He 8da8946409 Refactor the implementation of sync-client and async-client.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-05-22 21:42:06 +08:00
Tao He bd4ec37ff4 Use int64_t for etcd revisions/indexes.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-21 18:52:34 +08:00
Matthew Fioravante bfb56be151
Expose key version in etcd::Value (#97) 2021-10-27 12:49:34 +08:00
Matthew Fioravante 1118222b3d
Make revision numbers 64 bit to match proto spec (#96)
* Make Response::index() 64 bit

* make compact_revision 64 bit

* Make input revision params 64 bit

* make Transaction mod revision 64 bit

* Make Value created and modified index 64 bit

* Fix tests
2021-10-27 10:51:49 +08:00
Tao He 116b49b784
Lint source code, improve the quality and readability. (#82)
* Lint the source first, prepare for implementing #81.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-15 14:59:55 +08:00
Tao He efcecb7731 Add a "head" method on the client the retrieve the latest revision.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-06-16 17:10:32 +08:00
Tao He eab29edaf0 Fixes unused warnings.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-05-25 13:29:36 +08:00
Tao He b3ce183889
Expose the etcdv3::detail::string_plus_one method. (#56)
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-08 10:33:39 +08:00
Tao He cee938fb0a Use UTF-8 char U+0000 as terminate charactor.
Allow setting range end as `NULL`, see also #50.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-07 15:08:51 +08:00
Tao He 1b24751b9d
List/delete/watch on exact range. (#51)
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-01 14:50:50 +08:00
Tao He e286c36926 Fixes for windows (vcpkg environment) compatibility.
Signed-off-by: Tao He <sighingnow@gmail.com>
2020-12-20 00:19:47 +08:00
Tao He 0fb4f2887d Implements etcd v3 authentication.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-10 20:17:32 +08:00
Tao He 65271bb92d Enhance tests and improve documents about about build & install.
Should fixes #2, #4.

Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-01 01:47:43 +08:00
Tao He 4e9d17c188 Update protobuf, implments lock, fixes watch and improves txn (#1) 2020-09-30 00:32:00 +08:00
arches 888946b589 Added new interface for leasegrant and leaseId in add, set, modify, modify_if 2016-07-13 07:56:43 -04:00
arches 93f8131e83 put deleted keys in values() when prefix = true. 2016-07-13 06:46:56 -04:00
arches 3c52636028 Implemented TTL and Lease 2016-07-13 05:09:42 -04:00
arches 6dfbe791a0 Added DeleteRangeResponse.
Refactor how value/values are filled up by parseResponse
2016-07-08 08:48:39 -04:00
arches c2af35f20b Updated test cases 2016-07-07 05:40:42 -04:00
arches 1e046d87a0 Use Actionv2::ActionParameters to pass arguments to AsyncActions. 2016-07-06 12:11:27 -04:00
arches dd1d01519c Fixed bug when only one key is returned during ls().
Instead of placing it in response::value it should be placed in
reponse::values
2016-07-01 10:17:41 -04:00
arches 808ccd5e3b Updated test cases 2016-06-21 09:48:55 -04:00
arches db2ce95328 Updates for merging 2016-06-16 07:52:29 -04:00
arches 0d7b702430 Added implementation for ls 2016-06-16 06:28:46 -04:00
Arches 8825b43044 Use Txn 2016-06-16 06:25:33 -04:00
lampayan c28d955b22 Complete implementation for modify with index and delete with index
functionalities. AsyncModifyResponse is needed because handling of
indeces are different between create and mod and delete, as per
requirements.

remaining TODOs:
1) Watch functionality
2016-06-09 16:57:25 +02:00
lampayan 6fb775218d This is the complete implementation for delete functionalities.
Index is now also supported

notes/TODOs:
1) We should consider adding an algo for mod/update functions
to consider BOTH creation index and modify index
2) Watch functionality
2016-06-09 13:53:58 +02:00
lampayan 008693a276 merged branches for ease of update later on.
cleaned up rm, implemented rm_if methods!
updated tests

remaining todos:
rm and modif with indexes (find out where is X-ETCD-Index)
watch functionality
2016-06-09 11:21:42 +02:00
lampayan 2721e39e12 coexisting approaches with working UTs 2016-06-08 15:21:09 +02:00
lampayan 33be7c9092 Merge remote-tracking branch 'origin/maui' into other_dev
# Conflicts:
#	etcd/Client.hpp
#	etcd/Response.hpp
#	proto/rpc.proto
#	src/CMakeLists.txt
#	src/Client.cpp
#	src/Response.cpp
#	tst/EtcdTest.cpp
2016-06-08 14:53:34 +02:00
lampayan 62d4984e71 Refactored and cleaned implementation for rm()
Unrelated tests are commented out firsts
temporary method, such as getV3, are done to be able to do the original UT replication.
2016-06-08 11:11:50 +02:00
arches 04f8cc71e5 implemented assigned client interface 2016-06-07 10:59:10 -04:00
lampayan 66f9be45ba Crude DeleteV3, version 2 backward compatibility, implementation 2016-06-07 14:46:40 +02:00
lampayan 326693a95e commit for merge 2016-06-02 13:36:58 +02:00
Arches 7d11a0a4ca initial repository creation 2016-05-31 11:20:06 +02:00