459 Commits (c24e83c0a7dd5ca20cc9412036d488cd71264382)

Author SHA1 Message Date
Sayan Nandan c24e83c0a7 Encode all sizes to little endian
This is very convenient for us and we will provide advanced byte
ordering only if our users demand for it.
3 years ago
Sayan Nandan e1dfa12ba4 Add runtime panic check on 32-bit or lower 3 years ago
Sayan Nandan 5adc269e11 Add endian info and pointer-width check
When a file created by a 64-bit system is read on a 16/32 bit system,
there may be a size overflow. If so, we should do a runtime panic.
3 years ago
Sayan Nandan 74a0592fbc Simplify transmutation
Also use smaller vectors for faster tests to avoid problems with
thread stack sizes on Windows.
3 years ago
Sayan Nandan c20302ef75 Add storage module for custom encoding/decoding 3 years ago
Sayan Nandan 7c835d03b3 Add NS/KS swap headers in protocol 3 years ago
Sayan Nandan 17d1c472b6 Use proc macro for uninit array magic
The proc macro does some magic to give us a const array with the full
size without having to manually write it. Magic!
3 years ago
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 bae2b8354c
Release v0.6.3 (#184)
* Bump up version to 0.6.3

* Update changelog entry
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 e30d51a599
Release v0.6.2 (#180)
* Bump up version and add changelog entry

* Use separate cache object for release workflows
3 years ago
Sayan Nandan 0f06f7b26f Add some LLVM specific optims for O1 builds 3 years ago