aranya-project / aranya

Aranya user library, daemon, and policy code
https://aranya-project.github.io/
GNU Affero General Public License v3.0
173 stars 11 forks source link

aqc: implement C APIs #221

Open gknopf-aranya opened 2 weeks ago

gknopf-aranya commented 2 weeks ago

@benz-spideroak as discussed today, here's an issue for the AQC C APIs.

Implement C APIs and C example for AQC. This includes APIs for creating/deleting channels and sending/receiving data via the channels.

Use the existing Aranya client Rust API for this.

Nice-to-have if there is time: APIs for deleting channels.

cc: @djohnson-spideroak, @jdygert-spok, @elagergren-spideroak, @ycarmy

gknopf-aranya commented 2 weeks ago

Included channel deletion methods in the PR description.

gknopf-aranya commented 2 weeks ago

@nikki-aranya, @djohnson-spideroak, @benz-spideroak let's prioritize implementing the AQC C API methods in this order:

  1. AQC bidi channel creation
  2. Data send/recv
  3. AQC uni channel creation
  4. Delete AQC bidi channel
  5. Delete AQC uni channel

That way, we get a working AQC data plane as quickly as possible and can implement the rest of the methods with a little less urgency.

gknopf-aranya commented 4 days ago

I'm reassigning this issue to myself for the next couple days. If the PR is not merged by Friday, someone else will need to pick it up starting Monday next week.

gknopf-aranya commented 4 days ago

Completion of the AQC C APIs is blocked by finalization of the AQC implementation and corresponding AQC Rust APIs.