Crate utp [] [src]

Implementation of the Micro Transport Protocol.

This library provides both a socket interface (UtpSocket) and a stream interface (UtpStream). I recommend that you use UtpStream, as it implements the Read and Write traits we all know (and love) from std::io, which makes it generally easier to work with than UtpSocket.

Installation

Ensure your Cargo.toml contains:

[dependencies]
utp = "*"

Examples

extern crate utp;

use utp::UtpStream;
use std::io::Write;

fn main() {
    // Connect to an hypothetical local server running on port 8080
    let addr = "127.0.0.1:8080";
    let mut stream = UtpStream::connect(addr).expect("Error connecting to remote peer");

    // Send a string
    stream.write("Hi there!".as_bytes()).expect("Write failed");

    // Close the stream
    stream.close().expect("Error closing connection");
}

Note that you can easily convert a socket to a stream using the Into trait, like so:

let socket = UtpSocket::bind("0.0.0.0:0").expect("Error binding socket");
let stream: UtpStream = socket.into();

Structs

UtpListener

A structure representing a socket server.

UtpSocket

A structure that represents a uTP (Micro Transport Protocol) connection between a local socket and a remote socket.

UtpStream

A structure that represents a uTP (Micro Transport Protocol) stream between a local socket and a remote socket.