1extern crate sctp;
2use sctp::*;
3
4use std::io::prelude::*;
5
6fn main() {
7 match SctpStream::connect("127.0.0.1:3868") {
9 Err(e) => println!("{:?}", e.kind()),
11 Ok(mut peer) => {
12 println!("{}", peer.has_nodelay().unwrap());
14 peer.set_nodelay(true).unwrap();
15 println!("{}", peer.has_nodelay().unwrap());
16
17 let oldsize = peer.get_buffer_size(SoDirection::Send).unwrap();
19 peer.set_buffer_size(SoDirection::Send, 4096).unwrap();
20 println!(
21 "Set send buffer size to {} (was : {})",
22 peer.get_buffer_size(SoDirection::Send).unwrap(),
23 oldsize
24 );
25
26 println!("Setting read timeout to 10 s");
27 peer.set_timeout(SoDirection::Receive, 10).unwrap();
28
29 peer.write_all("foo bar\n".as_bytes()).unwrap();
31 peer.sendmsg("foo bar again\n".as_bytes(), 6).unwrap();
33 let mut data = [0u8; 1024];
34 peer.read_exact(&mut data).unwrap();
36 let (size, stream) = peer.recvmsg(&mut data).unwrap();
39 println!("Received {} bytes on stream {}", size, stream);
40 }
41 }
42}