pub struct F1 {}
Expand description
A high-level interface to the telemetry data of modern F1 video games.
The F1 struct implements a high-level interface to the telemetry data of the modern F1 video games. It is the recommended way to use the library, as it provides a simple interface to consumers that hides the low-level internals of the library.
Implementations§
Source§impl F1
impl F1
Sourcepub fn stream(
socket_address: SocketAddr,
) -> Result<impl Stream<Item = Packet>, Error>
pub fn stream( socket_address: SocketAddr, ) -> Result<impl Stream<Item = Packet>, Error>
Create a stream that yields decoded UDP packets.
Modern F1 games publish their telemetry and session data through a UDP-based protocol. With
this function, a stream can be created that listens at the given socket for incoming
packets, decodes them using the F1Codec
, and returns their Rust representations.
§Examples
use std::net::{IpAddr, SocketAddr};
use f1_api::F1;
use f1_api::packet::Packet::{Event, Lap, Motion, Participants, Session, Setup, Status, Telemetry};
use tokio_stream::StreamExt;
async fn example() {
let ip_address = IpAddr::from([0, 0, 0, 0]);
let port = 20777;
let socket = SocketAddr::new(ip_address, port);
let mut stream = F1::stream(socket).unwrap();
while let Some(packet) = stream.next().await {
match packet {
Event(_) => println!("Received Event packet"),
Lap(_) => println!("Received Lap packet"),
Motion(_) => println!("Received Motion packet"),
Participants(_) => println!("Received Participants packet"),
Session(_) => println!("Received Session packet"),
Setup(_) => println!("Received Setup packet"),
Status(_) => println!("Received Status packet"),
Telemetry(_) => println!("Received Telemetry packet"),
}
}
}
Auto Trait Implementations§
impl Freeze for F1
impl RefUnwindSafe for F1
impl Send for F1
impl Sync for F1
impl Unpin for F1
impl UnwindSafe for F1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more