Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add datagram trait and path-aware datagram #106

Merged
merged 6 commits into from
Dec 20, 2023

Conversation

jpcsmith
Copy link
Contributor

@jpcsmith jpcsmith commented Dec 19, 2023

Depends on #105

This PR

  • adds a trait for Datagram oriented sockets that can (in theory) be used by also by a raw socket, and
  • adds a socket variant that wraps the aforementioned Datagram sockets and provides path management.

The trait is a WIP and is subject to refinement as we implement more complex path-service varieties. Currently, only an implementation for static paths was added.

Tasks:

  • Implement the path-aware socket
  • Run the integration tests over the path-aware variant.
  • Complete the documentation for the udp_socket module.

Copy link
Contributor

github-actions bot commented Dec 19, 2023

Code Coverage

Package Line Rate Health
crates/scion-proto/src/address 67%
crates/scion-proto/src 79%
crates/scion/src/daemon 95%
crates/scion-proto/src/packet/headers 86%
crates/scion-proto/src/path/metadata 100%
crates/scion-proto/src/reliable 95%
crates/scion-proto/src/packet 83%
crates/scion/src/pan 49%
crates/scion-proto/src/path 81%
crates/scion/src 79%
Summary 79% (1165 / 1477)

@jpcsmith jpcsmith marked this pull request as draft December 19, 2023 11:32
@jpcsmith
Copy link
Contributor Author

@mlegner I still need to add tests and cleanup the documentation, but would appreciate if if you could already review the design.

Copy link
Contributor

@mlegner mlegner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the general setup! 💯

Just a few questions from my side.

crates/scion-proto/src/path.rs Show resolved Hide resolved
crates/scion/src/pan/error.rs Outdated Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Outdated Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Outdated Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Show resolved Hide resolved
crates/scion/src/pan/path_service.rs Outdated Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Outdated Show resolved Hide resolved
@jpcsmith jpcsmith marked this pull request as ready for review December 19, 2023 17:44
Copy link
Contributor

@mlegner mlegner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a few nits left.

crates/scion/src/pan/datagram.rs Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Show resolved Hide resolved
crates/scion/src/pan/path_service.rs Outdated Show resolved Hide resolved
crates/scion/src/udp_socket.rs Outdated Show resolved Hide resolved
crates/scion/src/pan/datagram.rs Show resolved Hide resolved
@jpcsmith jpcsmith self-assigned this Dec 20, 2023
@jpcsmith jpcsmith merged commit d86b042 into main Dec 20, 2023
11 checks passed
@jpcsmith jpcsmith deleted the feat/path-aware-datagram branch December 20, 2023 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants