Commit Graph

68 Commits

Author SHA1 Message Date
Tao He 4d6d0e2732 Refine source code, improve the quality and readability.
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-09-15 14:22:48 +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
lampayan 618995c080 Merge remote-tracking branch 'origin/other_dev' into other_dev
# Conflicts:
#	etcd/Client.hpp
#	src/Client.cpp
2016-06-21 15:59:46 +02:00
lampayan b086ee9d72 Refactored transaction initialization.
cleaned up and added comments for methods in transaction class
2016-06-21 15:52:19 +02:00
arches 63661d3889 Merge branch 'other_dev' of ssh://bud-git01.emea.nsn-net.net/etcd-cpp-apiv3 into other_dev
# Conflicts:
#	src/CMakeLists.txt
2016-06-21 09:38:50 -04:00
arches 40c552725b Merge branch 'other_dev' of ssh://bud-git01.emea.nsn-net.net/etcd-cpp-apiv3 into other_dev
# Conflicts:
#	src/CMakeLists.txt
#	src/Client.cpp
2016-06-21 09:34:22 -04:00
lampayan fe5396e437 Refactored Client class to remove boilerplate code.
Responsibility of boilerplate work is transfered to its own class 
(Transaction).
UT for watch are temporarily commented out as they are not supported yet
2016-06-21 15:33:11 +02:00
arches b9eb2633d1 Added watch functionality 2016-06-21 09:19:26 -04:00
lampayan 01bf49bf2d cleanup removing temporary classes AyncDelResponse AsyncModifyResponse
and V3BaseResponse
2016-06-21 10:54:13 +02:00
arches e84a1b0667 Update rm and modify functions. Use Txn for these functions. 2016-06-17 11:11:53 -04:00
arches db2ce95328 Updates for merging 2016-06-16 07:52:29 -04:00
arches e116c51948 added grpc and utils 2016-06-16 07:11:17 -04:00
arches 9239ad04e9 clean up 2016-06-16 07:00:53 -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 eedbcd4b70 Added delete 2016-06-16 06:29:19 -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
arches b7500a17cb Use Txn for add() 2016-06-16 06:21:17 -04:00
lampayan a1293c770a cleanup removing temporary classes. 2016-06-09 17:14:40 +02:00