Commit Graph

42 Commits

Author SHA1 Message Date
Ye Cao 3ad17314d6
Add the cluster manager api. (#276)
As titled.

Signed-off-by: Ye Cao <caoye.cao@alibaba-inc.com>
2024-08-02 10:30:43 +08:00
Tao He b82efea7a9
Enable -fno-exceptions support (#261)
Resolves #259

Signed-off-by: Tao He <sighingnow@gmail.com>
2023-12-20 09:18:10 +08:00
Tao He 1d5128a7e8
Format source code using clformat (#233)
Signed-off-by: Tao He <sighingnow@gmail.com>
2023-07-01 20:49:16 +08:00
Tao He a8d5980c76
Include watch_id in the response (#223)
Signed-off-by: Tao He <sighingnow@gmail.com>
2023-05-16 09:45:51 +08:00
Tao He 9f09066b47
Fixes the timeout parameter and some improvements to find non-standard installed deps. (#178)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-10-17 13:18:36 +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 e5f1167c69 Implements the timeout feature to the etcd client.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-05-22 22:57:38 +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 9a5267286b Use a explicit copy constructor as we noticed stack-buffer-overflow inside the copy ctor when ASAN is enabled
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-24 10:30:10 +08:00
Tao He d4975f84b3
Return complete meta information of HEAD. (#123)
* Return complete meta information of HEAD.
* Fixes the CI by revisiting the LD_LIBRARY_PATH.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-06 16:01:49 +08:00
Tao He 405383c0ba Add a new API to `client.observe()` that accepts a callback.
Resolves #108.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-22 10:30:46 +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 b99dc2024e
Include compact revision for cancelled watch response. (#91)
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-28 11:24:11 +08:00
Tao He cda80854eb
Implements "v3election.proto" APIs. (#84)
Resolves #81.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-16 00:46:21 +08:00
Tao He e80709418b Avoid including protobuf & grpc headers in our interface files.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-05-27 22:10:24 +08:00
Tao He 9e77fdb2ee
Fixes lock, and the underlying keepalive implmentation. (#60)
* Fixes lock, and the underlying keepalive implmentation.

The previous implementation is buggy when a lot of locks happen at the same time,
as the cpprestsdk's threadpool use a fixed number of thread for posix platform:

https://github.com/microsoft/cpprestsdk/blob/master/Release/src/pplx/threadpool.cpp#L198

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-05-21 18:05:35 +08:00
Tao He 3e30c4c61d
Optimize the implementation of error handling in keep alive. (#54)
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-07 23:20:33 +08:00
Tao He d2e35ceb47
Reduce the dependency interface to avoid include all generated protobuf/grpc files. (#41)
Add CMake config files to make it looks as a cmake module.

Fixes https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/issues/37.

Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-06 17:16:58 +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 100eae97e9 Improve the etcd watcher to detect error when the connection lost.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-09-30 00:32:00 +08:00
Tao He 72b215a513 Re-org v3 related files to make it a submodule. 2020-09-30 00:32:00 +08:00
Tao He 4e9d17c188 Update protobuf, implments lock, fixes watch and improves txn (#1) 2020-09-30 00:32:00 +08:00
arches 3c52636028 Implemented TTL and Lease 2016-07-13 05:09:42 -04:00
arches 658eaf7190 Remove extra ";" 2016-07-11 09:07:02 -04:00
arches 7d64447e76 Updates for Watcher 2016-07-05 05:22:11 -04:00
arches 174ea401b8 Added SyncClient class 2016-07-04 06:54:07 -04:00
arches a43de811f4 Refactor part1 2016-06-24 12:20:31 -04:00
arches b9eb2633d1 Added watch functionality 2016-06-21 09:19:26 -04:00
arches 87dc87abdb Removed createResponse 2016-06-20 06:24:09 -04:00
arches 88e5298f86 make templated create with shared_ptr arguement
with watch snippet(should be deleted next commit)
2016-06-16 06:29:49 -04:00
arches 0d7b702430 Added implementation for ls 2016-06-16 06:28:46 -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 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 2e858aa26b preparation for merge 2016-06-07 15:37:09 +02:00
arches 3f5ca746fc Added AsyncPutResponse class 2016-06-06 10:26:56 -04:00
arches 273710aafe Updates for GET and SET 2016-06-06 08:00:00 -04:00
Arches 7d11a0a4ca initial repository creation 2016-05-31 11:20:06 +02:00