lidongze0629
84cdcb0438
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-18 13:04:55 +08:00
Tao He
bb22ef4d7f
Revert "Wait: wait without callback, otherwise there will be use-after-dtor."
...
This reverts commit 7b16ce6770 .
That patch is invalid.
2021-04-28 17:36:27 +08:00
Tao He
7b16ce6770
Wait: wait without callback, otherwise there will be use-after-dtor.
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-27 22:24:04 +08:00
Nils Carlson
ad2da0ac7e
Change KeepAlive lease expiry to throw std::out_of_range ( #55 )
...
Update documentation to show different exceptions used by KeepAlive as well.
2021-04-08 10:18:26 +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
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
62a846d798
Handling (or checking) possible failure in lease's KeepAlive. ( #53 )
...
* Handling (or checking) possible failure in lease's KeepAlive.
* Add documentation.
* Enhance documentations.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-02 17:15:27 +08:00
Tao He
27e6e2ac11
Watch on range by specifying `rang_end`. ( #52 )
...
Follow-up work on #51 , and fixes #50 .
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-02 01:34:58 +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
rockeet
9339b6dee4
class Value: remove unused code ( #48 )
2021-03-29 18:53:56 +08:00
Tao He
c927b395cb
Set DESTINATION for older versions of CMake.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-03-01 18:11:23 +08:00
Tao He
38366fc5c3
Handle watching on compacted revisions cases.
...
Fixes #43 .
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-15 00:13:38 +08:00
Tao He
4f31000cf4
Set a proper upper bound for `ls` request, and remove the default sort options. ( #46 )
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-12 15:56:09 +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
3bac086428
Fixes a unused warning.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-02-03 01:26:27 +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
692840cb58
Support ubuntu 18.04 (boost-1.65), and test it in CI.
2021-01-30 14:43:16 +08:00
Tao He
66c111b5ca
Test the library on more platforms with more versions of etcd.
...
Squashed commit of the following:
commit 7d15f8f5f9b477f606dbe034f26c37a894eb5b46
Author: Tao He <linzhu.ht@alibaba-inc.com>
Date: Thu Jan 28 10:47:55 2021 +0800
Add a bit more about how to enable authentication on etcd v3.2.x and v3.3.x.
Fixes #33 .
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
commit 9e84e27d480930133d2f2380bed44cb187ff1656
Author: Tao He <sighingnow@gmail.com>
Date: Sun Jan 17 20:59:12 2021 +0800
Tweak LD_LIBRARY_PATH, to include /usr/local/lib.
Signed-off-by: Tao He <sighingnow@gmail.com>
commit c3b913c3c33606caa6ff326639a791e55565da3f
Author: Tao He <linzhu.ht@alibaba-inc.com>
Date: Sat Dec 26 15:27:54 2020 +0800
Test on various versions of Ubuntu and Mac, with different versions of ETCD.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-01-28 13:07:34 +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
cfb5cb89d3
Fixes the -Werror for unused "continue_next": we just use it.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2021-01-11 20:47:11 +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
f2d8330b08
Fixes when cpprestsdk is a submodule of external project.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-12-21 16:19:24 +08:00
Tao He
7e280ec8a4
Install dll to bin/ on windows.
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2020-12-20 14:54:25 +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
f7e7ec30fe
Fixes CMakeLists.txt for header installation.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-25 00:22:29 +08:00
Tao He
525a279a18
Install target etcd-cpp-api where it is defined.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-24 22:48:31 +08:00
Tao He
dd1f106150
Make "CancelWatch()" thread-safe and happen only once, fixes the potential assert failure in gRPC routines.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-15 19:56:23 +08:00
Tao He
7fe755ae53
Make sure a cancalable watch must be a successful watch.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-12 13:19:23 +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
eb284103e0
Auto and watch functionalities on SyncClient.
...
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
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
611ab05de0
Move generated protobuf files to binary directory.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-09-30 00:32:00 +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
bb33b76544
Optimize protobuf generation process in CMakeLists.txt.
...
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
0c52135bf8
Deleted junk files
...
Added #include <grpc/support/log.h> since this is where GPR_ASSERT is now defined.
2016-12-13 11:14:49 +01:00
Arches
a5d2140793
Updated logic for stripping of endpoint
2016-09-26 11:56:04 +02:00
Arches
e37cb46922
First commit
2016-08-29 16:14:57 +02:00
arches
60383a502c
Make mvccpb::KeyValue a member of etcdv3::keyValue instead of
...
inheriting from it.
2016-07-26 10:04:26 -04: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
ac54e84f6d
Use ttl
2016-07-13 07:20:15 -04:00