summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/main.rs b/src/main.rs
index aca7b97..6f2b133 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -2,23 +2,13 @@ use socket2::{Domain, Protocol, Socket, Type};
use std::mem::MaybeUninit;
use std::net::Ipv4Addr;
-fn main() {
- let res = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112)));
- let Ok(sock) = res else {
- eprintln!("Socket::new(): {}", res.err().unwrap());
- std::process::exit(1);
- };
- let res = sock.join_multicast_v4(
+fn main() -> std::io::Result<()> {
+ let sock = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112)))?;
+ let _ = sock.join_multicast_v4(
&Ipv4Addr::new(224, 0, 0, 18),
&Ipv4Addr::UNSPECIFIED,
- );
- let Ok(_) = res else {
- eprintln!("join_multicast_v4(): {}", res.err().unwrap());
- std::process::exit(1);
- };
- let mut buf = [MaybeUninit::<u8>::uninit()];
- let Ok(_) = sock.recv_from(&mut buf) else {
- eprintln!("Socket::recv_from(): {}", res.err().unwrap());
- std::process::exit(1);
- };
+ )?;
+ let mut buf = [MaybeUninit::<u8>::uninit(); 256];
+ let _ = sock.recv_from(&mut buf)?;
+ Ok(())
}