Crate pitwall

Crate pitwall 

Source
Expand description

Modern, type-safe Rust library for iRacing telemetry data.

We Race Pitwall provides high-performance access to iRacing’s telemetry system with first-class support for multiple application architectures.

§Features

  • Live Telemetry: Real-time streaming from iRacing on Windows
  • Type Safety: Compile-time validation with derive macros
  • Cross-platform IBT: File analysis on any platform
  • Performance: <1ms latency, 60Hz updates

§Quick Start

See the examples directory for complete usage demonstrations.

§Example (IBT replay)

use pitwall::{Pitwall, UpdateRate, PitwallFrame};
use futures::StreamExt;

#[derive(PitwallFrame, Debug)]
struct CarData {
    #[field_name = "Speed"]
    speed: f32,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let connection = Pitwall::open("/path/to/session.ibt").await?;
    let mut stream = connection.subscribe::<CarData>(UpdateRate::Native);

    while let Some(frame) = stream.next().await {
        println!("Speed: {}", frame.speed);
    }
    Ok(())
}

Re-exports§

pub use ibt::IbtReader;
pub use schema::SessionInfo;
pub use schema::SessionInfoParser;
pub use types::UpdateRate;
pub use connection::live::LiveConnection;
pub use connection::replay::ReplayConnection;
pub use adapters::*;
pub use types::*;

Modules§

adapters
Type-safe frame adapters for converting raw telemetry to strongly-typed structures.
connection
Connection types for live and replay telemetry
driver
Driver spawns and manages telemetry processing tasks
ibt
IBT file reading and parsing support (cross-platform)
provider
Provider trait for data sources
providers
Provider implementations
schema
Schema Discovery & Buffer Management
stream
Stream utilities for telemetry processing
types
Core types for telemetry data representation.

Structs§

DynamicFrame
A self-contained view over a single telemetry frame supporting by-name lookups.
Pitwall
Unified entry point for Pitwall telemetry connections.

Enums§

TelemetryError
Main error type for telemetry operations.

Type Aliases§

Result
Result type alias for telemetry operations.

Derive Macros§

PitwallFrame
Derive macro for automatic frame adapter generation.