diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-08-16 22:00:48 +0200 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-08-16 22:00:48 +0200 |
commit | 5aeea9b619cbdc3776a23aa5a1c6547d42c7f427 (patch) | |
tree | 1af087bf6e9b3641e29069a57aa2d294acf46338 /src/platform/udp.rs | |
parent | Layout work on router (diff) | |
download | wireguard-rs-5aeea9b619cbdc3776a23aa5a1c6547d42c7f427.tar.xz wireguard-rs-5aeea9b619cbdc3776a23aa5a1c6547d42c7f427.zip |
Begin drafting cross-platform interface
Diffstat (limited to '')
-rw-r--r-- | src/platform/udp.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/platform/udp.rs b/src/platform/udp.rs new file mode 100644 index 0000000..f21a3d3 --- /dev/null +++ b/src/platform/udp.rs @@ -0,0 +1,11 @@ +/* Often times an a file descriptor in an atomic might suffice. + */ +pub trait Bind<Endpoint>: Send + Sync { + type Error; + + fn new() -> Self; + fn set_port(&self, port: u16) -> Result<(), Self::Error>; + fn get_port(&self) -> u16; + fn recv(&self, dst: &mut [u8]) -> Endpoint; + fn send(&self, src: &[u8], dst: &Endpoint); +} |