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