Commit Graph

240 Commits

Author SHA1 Message Date
Tao He 9e519ce18b Watcher: add constructors to accept the wait callback.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-29 14:57:44 +08:00
Tao He 1108d986a7
Add transaction tests and documentations (#164)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-27 11:31:06 +08:00
Tao He 92efa7c9de Refine the README for openssl, API references, and how to unlock.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-24 11:38:17 +08:00
Tao He 39be27e021
Add a sync variant of lock on async client. (#163)
Resolves #139.

Lock is special, as it may cause the thread resources (in the pplx
thread pool) to be exhausted.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-20 21:20:58 +08:00
Tao He ed7ab08ef7 Limit C++ flags to this library itself.
Resolves #159.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-20 20:11:10 +08:00
zhanghan-mq a789dc2f13
build: as submodule, cancel `add_test()` (#160)
if we use `etcd-cpp-apiv3` as submodule, we don't need to test `etcd-cpp-apiv3`.
in `CMakeLists.txt`
```
enable_testing()
add_subdirectory(src)
add_subdirectory(tst)
```
this code force to set `add_test()` and maybe make the project failed to `unit tests`.

Signed-off-by: zhang.han <dalezh@163.com>

Signed-off-by: zhang.han <dalezh@163.com>
Co-authored-by: zhang.han <zhang.han@xsky.com>
2022-09-06 09:55:02 +08:00
wangbinzjut 69a1bf3b30
Update README.md (#155)
Co-authored-by: wangbin13 <wangbin13@corp.netease.com>
2022-08-18 15:39:33 +08:00
Tao He 543a901ee7 Bump up version to v0.2.7.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-08-17 11:37:32 +08:00
Tao He 89ae8a5ee4 Define "NOMINMAX" to ensure `<limits>` works.
See also: https://stackoverflow.com/questions/2561368/illegal-token-on-right-side-of

Resolves #149.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-08-17 11:34:28 +08:00
Tao He bd42e7129e Use `make -j$(nproc)` rather than plain `make -j`.
Addresses issues in #152.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-08-17 11:22:17 +08:00
Tao He ca2553e30d
Enable C++11 when testing grpc features. (#146)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-07-31 16:58:53 +08:00
Tao He efa502831d
Reject lower version of gRPC. (#145)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-07-31 15:21:38 +08:00
Tao He 2ed6cacce9
Add more variants for etcd::Watcher's constructor. (#144)
* Add more variants for etcd::Watcher's constructor.
* Use ASAN for testing on CI.
* Revert "Use ASAN for testing on CI."

This reverts commit 6ccc2161da.
2022-07-19 20:42:44 +08:00
Tao He 7c9b9e5699 Enable grpc timeout support in keepalive's refresh.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-05-24 00:20:55 +08:00
Tao He 2437a08e72 No timeout for leaserevoke.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-05-23 15:13:47 +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 f21c45b362 Bump up the version to v0.2.6 for a quickfix of the ctor
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-25 23:40:33 +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 ffb489ba4b Bump up the version number to v0.2.5
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-21 18:53:39 +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
Tao He 9a2b753e9e Bump up version to v0.2.4.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-08 21:26:55 +08:00
Tao He 680e8ad5c6 Replace Tabs in sources and README with spaces.
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-08 20:49:56 +08:00
Tao He 56c7189f92 Revisit the watcher's reconnect functionality.
Address #73, #76, #117 and #118.

Signed-off-by: Tao He <sighingnow@gmail.com>
2022-04-08 19:55:31 +08:00
Tao He f70255c8b0 Revert "Add support to re-activate watcher from wait_callback in watcher async wait."
This reverts commit 0467c0eef3.
2022-04-08 19:55:31 +08:00
Tao He 9a2afd4e81 Revert "Update Watcher re-connection sample."
This reverts commit 23394ab9bb.
2022-04-08 19:55:31 +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 767f0b1c65
Test against centos latest. (#121)
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-03-30 09:22:18 +08:00
David Pastor 23394ab9bb Update Watcher re-connection sample. 2022-03-29 19:39:04 +08:00
David Pastor 0467c0eef3 Add support to re-activate watcher from wait_callback in watcher async wait.
Returns wait result when cancelling watcher.
2022-03-29 19:39:04 +08:00
Siyuan Zhang 82f632de11
Bump cmake mininum required version to 3.3 (#114)
Signed-off-by: siyuan0322 <siyuan0322@gmail.com>
2022-01-05 19:41:07 +08:00
Tao He 1575c5b43a
Fixes warnings and -Werror errors on Mac with the latest grpc. (#112)
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-28 13:28:56 +08:00
Tao He bad5f6ea72 Deb: no debug.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-23 19:16:03 +08:00
Tao He 5ad96e21f9
Build the deb package and upload to artifacts. (#111)
* Build the deb package and upload to artifacts.
* Cancel.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-23 19:13:02 +08:00
Tao He 99ea53cb79 Bump up version to v0.2.3.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-22 14:32:20 +08:00
Tao He 345380a83a
Allow specifying the auth token TTL when auth with password. (#109)
* Allow specifying the auth token TTL when auth with password.
* Fixes.

Resolves #107.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-22 14:30:45 +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
Tao He 6a0b6696e5 Fixes the hardcode language standard in CMakeLists.txt.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-12-22 10:16:38 +08:00
Tao He 8678cec1f7 Bump up version to v0.2.2.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-11-14 21:23:41 +08:00
Tao He 0d672ffa1c
Accept an `grpc::ChannelArguments` argument in client's constructors. (#104)
* Accept an `grpc::ChannelArguments` argument in client's constructors.

   Resolves #103.

* Backwards compatibility with Ubuntu 18.04.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-11-09 00:31:59 +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 d29e05545d Implements the put action.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-10-12 10:17:25 +08:00
Matthew Fioravante e9db91b335
Allow changing Transaction key (#93)
* Allow changing Transaction key
* Fixes the compilation errors.

Signed-off-by: Matthew Fioravante <fmatthew5876@gmail.com>
Co-authored-by: Tao He <sighingnow@gmail.com>
2021-10-08 11:12:35 +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 a949dec288
Add an optional `target_name_override` to support multiple-endpoints with SSL. (#89)
Resolves #87.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-24 02:41:46 +08:00
Tao He 6eed82a766
Fixes memory leak in shutting down gRPC streams. (#88)
* Fixes memory leak in shutting down gRPC streams.

Resolve #86.

Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-23 14:51:29 +08:00
mszy d386bb96b0
Removing memory-leak, fixes #83. (#85)
Co-authored-by: morgan.szygenda <morgan.szygenda@scle.fr>
2021-09-22 10:50:33 +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 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