Commit Graph

1680 Commits

Author SHA1 Message Date
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