A library implementing OCapN.
- Async runtime agnostic
- Test with ocapn-test-suite (partially working; requires OnionNetlayer to work)
- Syrup:
-
#[derive(Serialize, Deserialize)]
(partial; missing enums, some other features) - Design better way of handling enums
-
- CapTP:
- Crossed Hellos mitigation
- Figure out ideal way to prevent reader/writer generics from infecting everything else
- Right now, it's difficult to write code that can use multiple netlayers at once
- Should we store locally exported objects as
Arc<dyn Object>
, or should we use a message channel? - Figure out how to deal with promise pipelining
- Third-party handoffs
- Operations:
-
op:start-session
-
op:deliver-only
-
op:deliver
-
op:pick
-
op:abort
-
op:listen
-
op:gc-export
-
op:gc-answer
-
- Bootstrap:
-
fetch
-
deposit-gift
-
withdraw-gift
-
- Promises:
-
fulfill
-
break
-
- Netlayers:
- Onion Netlayer (arti's onion service support is shaky right now)
- Manage multiple transport types using some sort of netlayer manager struct?
- Locators:
- Deserialize from URI