sctpx

Coding with SCTP protocol.

Example

```rust use sctpx::{client, server}; use myutil::{err::*, *}; use std::{sync::Arc, thread, time::Duration};

const ADDR: &str = "127.0.0.1:9999";

thread::spawn(|| { let cb = |recvd: &[u8], hdr: Arc, peer: server::PeerAddr| -> Result<()> { asserteq!(b"ABC", recvd); hdr.sendto(b"DEF", &peer).map(|n| asserteq!(n, 3)).c(d!()) }; pnk!(server::start_server(ADDR, None, cb, false)); });

// wait server to start thread::sleep(Duration::from_secs(1));

let cli = pnk!(client::Hdr::new()); asserteq!(3, pnk!(cli.sendtostraddr(b"ABC", ADDR)));

let buf = &mut [0; 8]; let res = pnk!(cli.recvfrom(buf)); asserteq!(b"DEF", &buf[0..res.0]); asserteq!(res.0, 3); asserteq!(pnk!(res.1).tostring().as_str(), ADDR); ```