tinyudp 0.2.0

A tiny abstraction for UDP.
Documentation

tinyudp Test crates docs.rs

A tiny abstraction for UDP in Rust

Overview

tinyudp::send(address: &str, message: &[u8]) -> Result<usize>
tinyudp::read(address: &str, options: &ReadOptions) -> Result<Vec<u8>>
tinyudp::send_and_read(address: &str, message: &[u8], read_options: &ReadOptions) -> Result<Vec<u8>>

struct ReadOptions {
    pub timeout: Option<Duration>,
    pub buffer_size: usize,
}

Usage

Send

tinyudp::send("quake.se", &b"hello")?;

Read

let socket = tinyudp::connect("quake.se")?;
let options = tinyudp::ReadOptions{
    timeout: Some(Duration::from_secs(1)),
    buffer_size: 8 * 1024,
};
let response = tinyudp::read(&socket, &options)?;

Send and read

let message = b"hello";
let options = tinyudp::ReadOptions{
    timeout: Some(Duration::from_secs(1)),
    buffer_size: 8 * 1024,
};

match tinyudp::send_and_read("quake.se", &message, &options) {
    Ok(response) => {
        println!("response: {:?}", response);
    },
    Err(e) => {
        println!("error: {:?}", e);
    },
};