Tao He
fb41073a90
Reliable macro condition to adapt to different version of gRPC. ( #187 )
2023-01-31 12:52:19 +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
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
c81f3fb211
Watcher: add constructors to accept the wait callback. ( #169 )
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2022-09-29 15:18:15 +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
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
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
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
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
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
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
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
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
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
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
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
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
c9f82b46d4
Allows specify a lease TTL for lock.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-08 11:07:23 +08:00
Tao He
842372d86d
Conformate the C++ compiler on Ubuntu-18.04.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-07 01:40:07 +08:00
Tao He
03baacf9ea
Support secure transport and certificate-based authentication. ( #42 )
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-07 01:35:37 +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
bcf5313eab
Continue work for #36 , add instructions about how to install deependencies.
2021-01-31 15:24:23 +08:00
Tao He
5258809b36
Remove debug logs.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-01-12 11:31:34 +08:00
Tao He
e5c804416c
Protect implicit keepalive maps using a lexical scoped lock.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-01-12 01:11:35 +08:00
Tao He
6962030db8
Implements "KeepAlive" feature, and enhance "lock" with a lease.
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-01-10 23:39: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
eee2ea2d14
Set maximum message bytes for send/recv for larger initial etcd machine.
2020-11-02 20:23:09 +08:00
Tao He
a00a06d5bd
Remove unused comment code.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-11 17:19:46 +08:00
Tao He
3305a19d15
Drop the Interceptor-based implementation to be compatible with ealier version of gRPC (pre-0.17.0).
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-10 20:17:32 +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
6eb725de0e
Add "limit" support on "ls" command.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-09-30 00:32:00 +08:00
Tao He
60ffe62b26
Update accumulated changes.
...
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
a5d2140793
Updated logic for stripping of endpoint
2016-09-26 11:56:04 +02:00
arches
3c52636028
Implemented TTL and Lease
2016-07-13 05:09:42 -04:00
arches
dd798f5dfd
Updated rmdir. withPrefix value should be based on the argument pass
...
by the client
2016-07-08 10:30:43 -04:00
arches
6dfbe791a0
Added DeleteRangeResponse.
...
Refactor how value/values are filled up by parseResponse
2016-07-08 08:48:39 -04:00
arches
1e046d87a0
Use Actionv2::ActionParameters to pass arguments to AsyncActions.
2016-07-06 12:11:27 -04:00
arches
7d64447e76
Updates for Watcher
2016-07-05 05:22:11 -04:00
arches
a43de811f4
Refactor part1
2016-06-24 12:20:31 -04:00
arches
029f46df86
Removed mkdir
2016-06-22 04:34:26 -04:00
lampayan
366f10506c
cleanup
...
removed unused old methods send_get_request and send_del_request
removed unnecessary comments
2016-06-22 09:51:46 +02:00
arches
8ae3a250dd
Remove AsyncPutResponse, utils and grpcClient
2016-06-21 10:58:24 -04:00
arches
a24750cc40
Merge branch 'other_dev' of ssh://bud-git01.emea.nsn-net.net/etcd-cpp-apiv3 into other_dev
...
updated watch to return previous values
2016-06-21 10:45:50 -04:00
arches
bdfb481f69
Updated Watch so it can return previous values.
2016-06-21 10:45:43 -04:00