Repository navigation
changes required to integrate nkv into EVE - #57
Merged
Merged
Conversation
To improve user experience we introduce command history using rustyline. Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
`trace key` shows you all the cilents subscribed to key or parents of it Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
5 times, most recently
from
July 24, 2025 14:49
06e0724 to
6144f51
Compare
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
from
July 24, 2025 15:16
6144f51 to
aa8bf65
Compare
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
version handle reports server version which is taken from CARGO_PKG_VERSION Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
will print warining in case of version missmatch Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
fixing a bug, we should notify parent subscriptions irrespective of deleted item having a subscription Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
so that we can have command history Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
remove ks1.ks2.key would remove value remove ks1.ks2.key.* would remove all the children relaxing contraints on operation: no need to have mutable TreeNode, returning vector of values to support wildcard operations Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Previously each Storage should handle get, delete with wildcards, this is NkvCore responsibility, it should not care about it, just writing and retrieving key from file system. That simplifies the logic of the whole system, the only caveat is when recreating NkvCore from persistent storage StorageEngine should indicate to NkvCore, what are the keys its having, again, it does not assume any structure, just returns keys that are stored Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
2 times, most recently
from
September 2, 2025 12:04
6a5ea0e to
ab3dc64
Compare
Now user can choose backend for StorageEngine on build-time usign features. Introduce `RouterStorage`, a hybrid storage backend that delegates keys to different storage implementations depending on their prefix. - Keys under the `runtime.*` tree are stored in memory (volatile). - All other keys are stored persistently on disk. The design is intentionally kept simple. A more flexible approach could involve parameterizing the memory and file backends as well as the runtime prefix, chosen via a builder or configuration mechanism. This complexity is omitted for now in favor of simplicity. If extended flexibility is needed, a ticket can be raised. Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
from
September 2, 2025 12:31
ab3dc64 to
d81c9be
Compare
We try to decode array of bytes into readable string Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
In order to allow for large messages, all packets are now using frame size, which is u32, so maximal size is 2^32 Also we are forcing 4-byte in little-endian format as length field to be compatible with github.com/getlantern/framed Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
so we don't accidentally log sensitive data Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
it's not reflecting API Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
in case data has some sensitive information Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
… send in debug Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
from
September 19, 2025 12:27
5d40474 to
45b03b6
Compare
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
async semantics was from op, which is currently used in capture_and_push pattern, where we caputered value in `Vec` of `tokio::mutex` which is `async` this resulted in the fact that we don't guarantee the order of events processed, which is crucial for EVE (main software that is nkv is used currently) This patch switches `tokio::Mutex` to `std::sync::Mutex` in `trie.get_mut` and changes function signatures accordingly Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
uncleDecart
force-pushed
the
improve-client-cli
branch
from
October 13, 2025 13:00
dbcfdad to
1ae4ea1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.