James Chicken
058116a8a3
Add sortedcontainers mypy stubs
2022-07-07 17:01:16 +01:00
Joshua Leahy
15fa257a5d
Strict typing for shuckle
2022-07-07 16:59:46 +01:00
Joshua Leahy
9e965b2bc0
Type checking for block service
2022-07-07 16:53:08 +01:00
Joshua Leahy
cd7b5c91e0
Better type checking for key expansion
2022-07-07 16:53:08 +01:00
Joshua Leahy
e7e7cd68fd
Fix mypy error in crypto
2022-07-07 16:53:08 +01:00
James Chicken
48d927dd01
Add STAT operation
2022-07-07 14:28:52 +01:00
Joshua Leahy
b4b9472099
Switch to UDP based registration
2022-07-06 18:02:03 +01:00
Joshua Leahy
e854ce3ced
Add MAC to statistics, to ensure we're talking to the correct process
2022-07-06 14:45:03 +01:00
Joshua Leahy
221d459258
Fix bugs in MAC
2022-07-06 14:44:54 +01:00
Joshua Leahy
1711411b5f
First cut of block service and coordinator
2022-07-06 14:19:49 +01:00
Joshua Leahy
61801fc834
Use 8 bytes of MAC only
2022-07-06 14:19:49 +01:00
Joshua Leahy
24669e9f85
MAC cleanup
2022-07-06 14:19:49 +01:00
James Chicken
616f7e6090
Improve interface of bincode unpacking
...
- there is now a bincode.unpack, which is the inverse of bincode.pack
- clients don't need to awkwardly instantiate a bincode.UnpackWrapper
anymore
2022-07-06 10:29:13 +01:00
James Chicken
18b269c3b2
Update resolve message, and other improvements
...
- New interface for bincode packing/unpacking (now each class and
pack/unpack itself, and the pack/unpack functions compose)
- dataclasses ftw
2022-07-05 18:27:30 +01:00
James Chicken
832446c2e0
Add basic_client.py, rewrite of basic_client.rs
2022-07-05 14:43:59 +01:00
James Chicken
129ee447e1
Adding random rust code from my workspace
...
- Stuff I was working on before we decided to start prototyping in Rust.
Maybe these will be useful later, maybe not.
2022-07-04 19:06:12 +01:00
James Chicken
e176186a3c
More entries in .gitignore
2022-07-04 18:56:02 +01:00
James Chicken
494ed8a05d
Move .gitignore back to root
2022-07-04 18:55:00 +01:00
James Chicken
cfe5b108e0
Implement Resolve message in raftless_metadata.py
...
- It's a drop-in replacement for resolve of raftless_metadata.rs
- This is mainly a proof-of-concept, I want to completely change the
interface we have now. However, it demonstrates that we can match the
bincode protocol in python without issues.
2022-07-04 18:50:14 +01:00
James Chicken
fbf1afb2ea
Fixup bincode
...
- added unpack_bytes, which was missing
- removed some inaccurate comments
- fixup whitespace
2022-07-04 17:38:15 +01:00
Joshua Leahy
df0d62c3cd
Fix mypy
2022-07-04 17:07:39 +01:00
James Chicken
c1259bb618
Add basic support for varint encoding
2022-07-04 17:07:22 +01:00
Joshua Leahy
09f7805a57
Add CBC-MAC function
2022-07-04 17:00:28 +01:00
Joshua Leahy
2d17b6fe4f
CRC32C function
2022-07-01 11:54:33 +01:00
Joshua Leahy
17558cd076
Merge branch 'master' of ssh://REDACTED
2022-07-01 10:04:27 +01:00
James Chicken
4ea09249df
Initial commit of pyeggsfs
...
- It's a python prototype of the metadata service :)
- So far just contains the data model encoded
2022-06-30 19:20:33 +01:00
Joshua Leahy
1c29e1b29e
Move things into a crate subdir
2022-06-22 11:26:48 +01:00
James Chicken
6a31b17056
Change some IDs to be more efficient with varint
...
- inode id now has creator shard as LSB rather than MSB
- requests in "the present" use ts == 0 rather than -1
2022-06-20 17:28:03 +01:00
James Chicken
3738263c22
Add version field to protocol
2022-06-20 17:27:37 +01:00
James Chicken
7111770cdd
Initial commit of EggsFS
...
- the filesystem best enjoyed with Tea + Eggs
2022-06-20 15:46:25 +01:00