Skip to main content

Crate photon_ring_derive

Crate photon_ring_derive 

Source
Expand description

Derive macros for [photon_ring::Pod] and [photon_ring::Message].

§Pod derive

#[derive(photon_ring::Pod)]
struct Quote {
    price: f64,
    volume: u32,
}

This generates #[repr(C)], #[derive(Clone, Copy)], and unsafe impl photon_ring::Pod for Quote {} — with a compile-time check that every field type implements Pod.

§Message derive

#[derive(photon_ring::Message)]
struct Order {
    price: f64,
    qty: u32,
    side: Side,        // any #[repr(u8)] enum
    filled: bool,
    tag: Option<u32>,
}

Generates a Pod-compatible wire struct (OrderWire) plus From conversions in both directions. See derive_message for details.

Derive Macros§

Message
Derive a Pod-compatible wire struct with From conversions.
Pod
Derive Pod for a struct.