pub struct FrameScheduler {
kind: Kind,
pub state: State,
tries: i32,
next_frame: u32,
pub nak_restarts: u32,
xacterr_budget: i32,
}Expand description
1 トランザクション分のフレームスケジューラ状態。
Fields§
§kind: Kind§state: State§tries: i32§next_frame: u32§nak_restarts: u32CSPLIT が NAK を受けて SSPLIT からやり直した回数(診断用)。
xacterr_budget: i32XactErr (バス転送エラー) の残りリトライ回数。tries と違い NAK 再開で リセットされない、サイクル全体を通した予算。
Implementations§
Source§impl FrameScheduler
impl FrameScheduler
pub fn new_no_split(is_periodic: bool) -> Self
pub fn new_non_periodic() -> Self
pub fn new_periodic() -> Self
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
スプリットサイクルが成功完了したか。
Sourcepub fn start_split(&mut self)
pub fn start_split(&mut self)
新しい Start-Split サイクルを開始する。
Sourcepub fn complete_split(&mut self) -> bool
pub fn complete_split(&mut self) -> bool
Complete-Split を今発行すべきか返す。false なら CSPLIT は出さない(完了/失敗 or 待機)。
Sourcepub fn transaction_complete(&mut self, status: u32)
pub fn transaction_complete(&mut self, status: u32)
直前トランザクションのチャネル割り込みステータスを与えて状態を進める。
Sourcepub fn wait_for_frame(&mut self)
pub fn wait_for_frame(&mut self)
Start-Split を発行する正しいフレームまで待つ(実 HFNUM 参照)。
Sourcepub fn is_odd_frame(&self) -> bool
pub fn is_odd_frame(&self) -> bool
HCCHAR の Odd-Frame ビットに設定すべき値。
Auto Trait Implementations§
impl Freeze for FrameScheduler
impl RefUnwindSafe for FrameScheduler
impl Send for FrameScheduler
impl Sync for FrameScheduler
impl Unpin for FrameScheduler
impl UnsafeUnpin for FrameScheduler
impl UnwindSafe for FrameScheduler
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