4 releases (2 breaking)
0.3.1 | Jul 21, 2020 |
---|---|
0.3.0 | Jul 21, 2020 |
0.2.0 | Jul 21, 2020 |
0.1.0 | Jul 21, 2020 |
#102 in #server-client
19KB
378 lines
Knet
A server and a client that can write and read data asynchronously to and from a T-type data derived by the knet-derive crate.
Example
#[derive(DeriveKnet, Debug, Clone, Copy)]
enum Data {
Integer(i32),
Char(char)
}
Server::write_all(server.0.clone(), Data::Integer(32)).await?;
Server::write(server.0.clone(), Data::Integer(32), 0).await?;
Client::write_all(server.0.clone(), Data::Integer(32)).await?;
loop {
match receiver.try_next() {
Ok(Some(event)) => {
println!("Receive event<T> {:?} ", event);
}
Ok(None) => {
eprintln!("Connection is down");
break;
}
Err(e) => {
error!("Nothing receive from receiver", e);
}
}
}
Dependencies
~7–17MB
~234K SLoC