Tao He
f57218d8d9
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:07:30 +08:00
Tao He
b3ce183889
Expose the etcdv3::detail::string_plus_one method. ( #56 )
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-08 10:33:39 +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
52d757f14a
Make the watcher test more stable on CI.
...
Signed-off-by: Tao He <sighingnow@gmail.com>
2021-04-07 09:39:15 +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
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
692840cb58
Support ubuntu 18.04 (boost-1.65), and test it in CI.
2021-01-30 14:43:16 +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
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
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
65271bb92d
Enhance tests and improve documents about about build & install.
...
Should fixes #2 , #4 .
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-10-01 01:47:43 +08:00
Tao He
12f59ca48e
Enable github CI.
...
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
2020-09-30 15:26:58 +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
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
e37cb46922
First commit
2016-08-29 16:14:57 +02: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
93f8131e83
put deleted keys in values() when prefix = true.
2016-07-13 06:46:56 -04:00
arches
82034a87db
Updated makefiles
2016-07-13 05:54:27 -04:00
arches
3c52636028
Implemented TTL and Lease
2016-07-13 05:09:42 -04:00
arches
6dfbe791a0
Added DeleteRangeResponse.
...
Refactor how value/values are filled up by parseResponse
2016-07-08 08:48:39 -04:00
arches
6dad838545
Update Action class
2016-07-07 05:58:52 -04:00
arches
c2af35f20b
Updated test cases
2016-07-07 05:40:42 -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
174ea401b8
Added SyncClient class
2016-07-04 06:54:07 -04:00
arches
dd1d01519c
Fixed bug when only one key is returned during ls().
...
Instead of placing it in response::value it should be placed in
reponse::values
2016-07-01 10:17:41 -04:00
arches
808ccd5e3b
Updated test cases
2016-06-21 09:48:55 -04:00
arches
db2ce95328
Updates for merging
2016-06-16 07:52:29 -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
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
2721e39e12
coexisting approaches with working UTs
2016-06-08 15:21:09 +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
66f9be45ba
Crude DeleteV3, version 2 backward compatibility, implementation
2016-06-07 14:46:40 +02:00
lampayan
326693a95e
commit for merge
2016-06-02 13:36:58 +02:00
Arches
7d11a0a4ca
initial repository creation
2016-05-31 11:20:06 +02:00