Pitwall

Struct Pitwall 

Source
pub struct Pitwall;
Expand description

Unified entry point for Pitwall telemetry connections.

This factory provides a consistent API for creating connections to both live iRacing telemetry and IBT file replay.

§Examples

§Live Telemetry (Windows)

use pitwall::Pitwall;

#[tokio::main]
async fn main() -> pitwall::Result<()> {
    let connection = Pitwall::connect().await?;
    // Use connection...
    Ok(())
}

§IBT File Replay (Cross-platform)

use pitwall::Pitwall;

#[tokio::main]
async fn main() -> pitwall::Result<()> {
    let connection = Pitwall::open("session.ibt").await?;
    // Use connection...
    Ok(())
}

Implementations§

Source§

impl Pitwall

Source

pub async fn connect() -> Result<LiveConnection>

Connect to live iRacing telemetry.

Establishes a connection to iRacing’s shared memory on Windows. This method waits for iRacing to be running and telemetry to be available.

§Platform

This method is only available on Windows where iRacing runs. On other platforms, this method returns an UnsupportedPlatform error.

§Errors

Returns an error if:

  • Platform is not Windows
  • iRacing is not running
  • Shared memory is not accessible
  • Connection timeout is reached
§Example
use pitwall::Pitwall;

let connection = Pitwall::connect().await?;
Source

pub async fn open<P: AsRef<Path>>(path: P) -> Result<ReplayConnection>

Open an IBT file for replay.

Loads an iRacing telemetry file (IBT) and provides a connection that behaves identically to live telemetry, including frame streaming and session info access.

§Arguments
  • path - Path to the IBT file
§Errors

Returns an error if:

  • File does not exist or is not readable
  • File is not a valid IBT format
  • File header is corrupted
§Example
use pitwall::Pitwall;

let connection = Pitwall::open("race.ibt").await?;

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more