Sayan Nandan
fd3e06beda
Fix array length check assertion
3 years ago
Sayan Nandan
e5b0588cca
Fix UB due to use of from_const_array
3 years ago
Sayan Nandan
f4379d5688
Use Array[64] for NS/KS names
...
We limit the sizes of keyspaces/namespaces because very long names may
cause fs errors on some file systems.
3 years ago
Sayan Nandan
8faf653d2e
Fix ser/de for `Coremap<Array, Array>`
3 years ago
Sayan Nandan
bd679f9b79
Document `Array` and `IArray`
3 years ago
Sayan Nandan
b997afe89a
Fix push function in `Array`
3 years ago
Sayan Nandan
4a27f83e6b
Impl `Send` and `Sync` for `Array`
3 years ago
Sayan Nandan
0067b7d1b7
Implement `Array` type
...
This allows us to have fixed size arrays right on the stack
3 years ago
Sayan Nandan
5ff045bd93
Impl deserialize for `IArray`
3 years ago
Sayan Nandan
e25d13afff
Add BP optimizations
3 years ago
Sayan Nandan
036b507de8
Impl Serialize for IArray
3 years ago
Sayan Nandan
4fe7aa7050
Add manip methods to `IArray`
3 years ago
Sayan Nandan
6c00ffae3b
Add methods to add items to `IArray`
3 years ago
Sayan Nandan
3739aa54fd
Add basic `IArray` impl
3 years ago
Sayan Nandan
e3d749ac20
Add methods to drop keyspaces and tables
3 years ago
Sayan Nandan
845ef82060
Use static slices for responses
3 years ago
Sayan Nandan
26a22c3102
Add dtor tests for Lazy
3 years ago
Sayan Nandan
a7e11cc281
Add methods to create ns, ks and tables
3 years ago
Sayan Nandan
bbcbe0756b
Add basic methods to memstore
3 years ago
Sayan Nandan
7ea890765d
Correct kvengine defs and add custom `Lazy` type
3 years ago
Sayan Nandan
74126ec7cb
Add variable width characters and failure test
...
This is just for sanity
3 years ago
Sayan Nandan
013be0058b
Add emoji tests
3 years ago
Sayan Nandan
8749cfa134
Add memstore
3 years ago
Sayan Nandan
c953b88695
Add test with bincode
3 years ago
Sayan Nandan
b1383bf8c9
Add encoding evaluation in `KVEngine`
3 years ago
Sayan Nandan
a276091726
Account for perl errors
3 years ago
Sayan Nandan
5f75df7109
Add some optimizations for unicode checks
3 years ago
Sayan Nandan
ead3f62ded
Add failure cases for unicode
3 years ago
Sayan Nandan
bdfaf6ec4d
Ensure that perl doesn't error
3 years ago
Sayan Nandan
5e4cd5be4b
Use deterministic finite automaton for validation
...
A dual stream approach provides even more speed improvements
3 years ago
Sayan Nandan
8cfab3f7d3
Add convenience macros
3 years ago
Sayan Nandan
efec980fa6
Add basic `BufferBlockReader` definition
3 years ago
Sayan Nandan
bdc4b3483f
Add basic `KVEngine` definition
3 years ago
Sayan
552d454940
Enable TLS port to be configured via CLI args ( #186 )
...
* Enable TLS port to be configured via CLI
* Add changelog entry
3 years ago
Sayan Nandan
141e39eee1
Use env var to determine TLS cert location
3 years ago
Sayan
d43e6f41da
Use `QuickLock` instead of mutex ( #185 )
...
* Use our own lock instead of parking_lot::Mutex
* Account for spurious failures in cmpxchg weak
* Ignore send error because parent may have panicked
The parent thread may have already panicked, dropping the rx.
3 years ago
Sayan Nandan
3a363d18cb
Simplify artwork [skip ci]
3 years ago
Sayan
2d7b9d7667
Add automated tests for TLS ( #183 )
...
* Auto start with TLS
* Add automated tests for SSL
* Add cert generation script
* Use script to generate SSL cert
3 years ago
Sayan
864c6d461f
Enable maximum connections to be configured manually ( #182 )
...
* Enable maximum connections to be configured
* Add arbiter for handling server startup
* Add handling of maxcon for command-line args
* Add changelog entry
3 years ago
Sayan Nandan
79f657b462
Add more LLVM specific optimizations
...
Just to reduce LLVM bloat
3 years ago
Sayan Nandan
0f06f7b26f
Add some LLVM specific optims for O1 builds
3 years ago
Sayan
d53a0cb505
Fix handling of SIGTERM on *nix ( #178 )
...
* Fix handling of SIGTERM on *nix
This is just for future extensibility
* Fix error codes
I have been silly enough to break error codes
3 years ago
Sayan
66e5d41302
Simplify overall locks ( #176 )
...
* Remove the need for TableLockStateGuard
The htable impl uses locks under the hood making external locks
redundant.
* Use atomics instead of rwlock for poisoned state
* Simplify snapshot locking
3 years ago
Sayan Nandan
0f1264d312
Decompose linearity tests and utils into modules
...
Also fixed license headers
3 years ago
Sayan Nandan
a87478dcba
Optimize dependencies
3 years ago
Sayan Nandan
76acde2f4f
Fix missing action argument in setkeys macro
3 years ago
Sayan Nandan
26775924ac
Add tests for pop
3 years ago
Sayan Nandan
57c957d4e7
Add `pop` action
3 years ago
Sayan
cdae667cb0
Fix pid file creation ( #170 )
...
* Remove the pid file if runtime errors occur
* Clean up error handling and fix pid file creation
The pid file was being created before evaluating the args, now it may
happen that incorrect args or --help was passed: in that event, the pid
file remains created. This was also fixed, besides some refactoring.
3 years ago
Sayan
ca9e482f47
Deter other processes from using the same data dir ( #169 )
...
* Deter other processes from using the same data dir
For more information, see #167
* Don't lock `pid_file`
Windows has mandatory locking so second instance won't be able to read
the PID of the other process. We'll just keep the file descriptor/handle
open
3 years ago