#[repr(C)]pub struct splinter_shard_bid {
pub shard_id: atomic_uint_least32_t,
pub pid: atomic_uint_least32_t,
pub intent: atomic_uint_least8_t,
pub priority: atomic_uint_least8_t,
pub _pad: [atomic_uint_least8_t; 2],
pub duration_tsc: atomic_uint_least64_t,
pub claimed_at: atomic_uint_least64_t,
}Expand description
@brief One cooperative-memory-scheduling bid. 32 of these live in the header. Packed to ~32 bytes so all 32 fit in ~1 KB (intentionally NOT individually cache-line aligned: claims/releases are rare and elections are read-only, so false sharing on this table is a non-issue, and the thesis budgets ~1 KB, not 2 KB).
Fields§
§shard_id: atomic_uint_least32_t< 0 = empty slot. Claimed via CAS.
pid: atomic_uint_least32_t< getpid() of the claimant; PID tie-break.
intent: atomic_uint_least8_t< splinter_intent_t.
priority: atomic_uint_least8_t< 0-255, higher wins the election.
_pad: [atomic_uint_least8_t; 2]< explicit padding; keep layout stable.
duration_tsc: atomic_uint_least64_t< declared window in splinter_now() ticks.
claimed_at: atomic_uint_least64_t< splinter_now() at claim / last re-bid.
Trait Implementations§
Source§impl Clone for splinter_shard_bid
impl Clone for splinter_shard_bid
Source§fn clone(&self) -> splinter_shard_bid
fn clone(&self) -> splinter_shard_bid
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for splinter_shard_bid
Auto Trait Implementations§
impl Freeze for splinter_shard_bid
impl RefUnwindSafe for splinter_shard_bid
impl Send for splinter_shard_bid
impl Sync for splinter_shard_bid
impl Unpin for splinter_shard_bid
impl UnsafeUnpin for splinter_shard_bid
impl UnwindSafe for splinter_shard_bid
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