[go: up one dir, main page]

Integrate µD3TN AAP2 C client library

µD3TN now ships with an AAP2 C client based on the code thankfully provided by DTNsuite. This adapts the corresponding files to make use of the upstream code.

See: d3tn/ud3tn!238 (merged)

Much of the code that is "deleted" here has been migrated to the new µD3TN AAP2 client implementation.

We decided for some adaptations of the API, such that users may e.g. choose to only use a socket for a single direction (send/receive). The code in ud3tn_c_api is an adaptation layer to these changes. It may be merged into bp_ud3tn.c in the future. I kept it in the original location to keep the changeset small and thus simplify the review.

Two notable extensions are made to the AAP2 C client code:

  • A function to randomly generate the µD3TN connection secret is introduced (so we do not use a hard-coded secret).
  • The Keepalive (Ping) mechanism is implemented for AAP2 based on new upstream µD3TN code.

Note that the status report support is not implemented, yet. (µD3TN can provide status reports via AAP2, but they are not decoded here.)

I have tested it using the test program in the repository. However, I see that some parts of the implementation are not used by it, so there may still be bugs. Let me know if I should test anything else or in case you encounter any issues.

Merge request reports

Loading