Skip to main content

AtomicRequest

Trait AtomicRequest 

Source
pub trait AtomicRequest: Debug {
    // Required methods
    fn op(&self) -> AtomicOp;
    fn width(&self) -> AtomicWidth;
    fn req_id(&self) -> u16;
    fn tag(&self) -> u8;
    fn address(&self) -> u64;
    fn operand0(&self) -> u64;
    fn operand1(&self) -> Option<u64>;
}
Expand description

Atomic Request trait: header fields and operand(s) for atomic op TLPs. Use new_atomic_req() to obtain a trait object from raw packet bytes.

Required Methods§

Source

fn op(&self) -> AtomicOp

Source

fn width(&self) -> AtomicWidth

Source

fn req_id(&self) -> u16

Source

fn tag(&self) -> u8

Source

fn address(&self) -> u64

Source

fn operand0(&self) -> u64

Primary operand: addend (FetchAdd), new value (Swap), compare value (CAS)

Source

fn operand1(&self) -> Option<u64>

Second operand: swap value for CAS; None for FetchAdd and Swap

Implementors§