mokomoking2501/lockwire/sim does not have a README file
pub(all) struct ArbitratedBusFrame {
frame_id : Int
sender : EndpointId
target : EndpointId
arbitration_id : Int
payload_len : Int
submitted_at : VTime
label : String
} derive(Eq, Debug)fn ArbitratedBusFrame::make(frame_id~ : Int, sender~ : EndpointId, target~ : EndpointId, arbitration_id~ : Int, payload_len~ : Int, submitted_at~ : VTime, label~ : String) -> ArbitratedBusFramepub(all) struct ArbitratedBusFrameSlot {
slot_id : Int
start : VTime
end : VTime
winner_frame_id : Int
winner_arbitration_id : Int
loser_frame_ids : Array[Int]
error_state_before : ArbitratedBusErrorState
error_state_after : ArbitratedBusErrorState
error_frame : Bool
auto_retransmit : Bool
bus_off : Bool
recovered : Bool
rejected_reorder_fault : Bool
} derive(Eq, Debug)pub struct ArbitratedBusMedium {
// private fields
}fn ArbitratedBusMedium::arbitrate(self : ArbitratedBusMedium, candidates : Array[ArbitratedBusFrame]) -> ArbitratedBusFrame?fn ArbitratedBusMedium::frame_duration(self : ArbitratedBusMedium, frame : ArbitratedBusFrame) -> Durationpub(all) struct ArbitratedBusOfflineReport {
profile_name : String
seed : Int
trace_event_count : Int
replay_count : Int
same_seed_stable : Bool
digest : SimDigest
slot_count : Int
arbitration_count : Int
arbitration_lost_count : Int
delivered_count : Int
error_frame_count : Int
retransmit_count : Int
bus_off_count : Int
recovery_count : Int
reorder_rejected_count : Int
frame_level_duration_estimate : Bool
live_io_evidence : Bool
socketcan_vcan_evidence : Bool
protocol_semantics_present : Bool
} derive(Eq, Debug)pub(all) struct ArbitratedBusOfflineRun {
seed : Int
profile : ArbitratedBusProfile
slots : Array[ArbitratedBusFrameSlot]
trace : TraceLog
digest : SimDigest
replay_count : Int
arbitration_count : Int
arbitration_lost_count : Int
delivered_count : Int
error_frame_count : Int
retransmit_count : Int
bus_off_count : Int
recovery_count : Int
reorder_rejected_count : Int
} derive(Debug)pub(all) struct ArbitratedBusProfile {
name : String
bit_time_ns : Int64
stuff_bit_divisor : Int
tec_error_increment : Int
bus_off_threshold : Int
error_passive_threshold : Int
supports_reorder : Bool
frame_level_duration_estimate : Bool
live_io_evidence : Bool
socketcan_vcan_evidence : Bool
protocol_semantics_present : Bool
} derive(Eq, Debug)pub(all) struct FabricBackgroundFlow {
flow_id : Int
source : EndpointId
target : EndpointId
label : String
frame_size_octets : Int
period_ns : Int64
load_class : FabricLoadClass
} derive(Eq, Debug)pub(all) struct FabricDelivery {
tx_id : Int
source : EndpointId
target : EndpointId
submitted_at : VTime
delivered_at : VTime?
label : String
dropped : Bool
delayed_by : Duration
} derive(Eq, Debug)pub(all) struct FabricLoadProfile {
name : String
flows : Array[FabricBackgroundFlow]
netload_semantics : String
complete_switched_fabric : Bool
real_netload_evidence : Bool
art_pi_certification_evidence : Bool
} derive(Eq, Debug)pub(all) struct FabricLoadProfileRun {
seed : Int
profile : FabricLoadProfile
fabric_event_count : Int
rt_event_count : Int
background_event_count : Int
netload_placeholder_event_count : Int
trace : TraceLog
digest : SimDigest
} derive(Debug)pub(all) struct FabricRun {
seed : Int
capabilities : FabricCapabilities
script : FabricPartitionScript
deliveries : Array[FabricDelivery]
trace : TraceLog
digest : SimDigest
partition_count : Int
heal_count : Int
drop_count : Int
late_count : Int
reorder_count : Int
} derive(Debug)pub(all) struct FrameWindow {
node_id : EndpointId
offset : Int
length : Int
before_digest : Int
after_digest : Int
} derive(Eq, Debug)impl Medium for MinimalFabricfn MinimalFabric::can_deliver(self : MinimalFabric, source : EndpointId, target : EndpointId) -> Boolpub(all) struct ProfinetRtLoadTraceReport {
trace_event_count : Int
replay_count : Int
same_seed_stable : Bool
digest : SimDigest
rt_event_count : Int
background_event_count : Int
netload_placeholder_event_count : Int
complete_switched_fabric : Bool
real_netload_evidence : Bool
art_pi_certification_evidence : Bool
} derive(Eq, Debug)pub(all) struct SegmentHop {
index : Int
node_id : EndpointId
node_name : String
arrive : VTime
depart : VTime
port_delay : Duration
window : FrameWindow
} derive(Eq, Debug)fn SegmentLine::run(self : SegmentLine, payload~ : Bytes, start~ : VTime, seed~ : Int) -> SegmentRunpub(all) struct SegmentNode {
id : EndpointId
name : String
port_delay : Duration
window_offset : Int
window_length : Int
rewrite_value : Byte?
} derive(Eq, Debug)fn SegmentNode::with_window_write(self : SegmentNode, offset~ : Int, length~ : Int, value~ : Byte) -> SegmentNodefn SimRun::benchmark_report(self : SimRun, scenario~ : String, backend~ : BackendProfile) -> RuntimeBenchmarkReportpub(all) struct SwitchedFabricFrameRecord {
record_id : Int
flow_id : Int
flow_label : String
source : EndpointId
target : EndpointId
output_port : PortId
priority : Int
frame_size_octets : Int
enqueue_time : VTime
depart_time : VTime?
arrive_time : VTime?
serialization_delay : Duration
queue_occupancy_before : Int
queue_occupancy_after : Int
jitter_ns : Int64
dropped : Bool
reordered : Bool
background : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricIrtPhaseWindow {
start_ns : Int64
end_ns : Int64
phase : SwitchedFabricIrtPhaseKind
} derive(Eq, Debug)pub(all) struct SwitchedFabricOfflineProfile {
name : String
queue_discipline : SwitchedFabricQueueDiscipline
ports : Array[SwitchedFabricPort]
flows : Array[SwitchedFabricTrafficFlow]
reorder_window_ns : Int64
complete_switched_fabric : Bool
live_io_evidence : Bool
real_netload_evidence : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricOfflineReport {
profile_name : String
seed : Int
queue_discipline : SwitchedFabricQueueDiscipline
trace_event_count : Int
replay_count : Int
same_seed_stable : Bool
digest : SimDigest
delivered_count : Int
dropped_count : Int
reordered_count : Int
jittered_count : Int
background_frame_count : Int
netload_octets : Int
max_queue_occupancy_octets : Int
complete_switched_fabric : Bool
live_io_evidence : Bool
real_netload_evidence : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricOfflineRun {
seed : Int
profile : SwitchedFabricOfflineProfile
frames : Array[SwitchedFabricFrameRecord]
trace : TraceLog
digest : SimDigest
replay_count : Int
delivered_count : Int
dropped_count : Int
reordered_count : Int
jittered_count : Int
background_frame_count : Int
total_payload_octets : Int
total_background_octets : Int
netload_octets : Int
max_queue_occupancy_octets : Int
} derive(Debug)pub(all) struct SwitchedFabricPort {
port_id : PortId
endpoint : EndpointId
name : String
capacity_octets_per_tick : Int
queue_limit_octets : Int
base_delay : Duration
} derive(Eq, Debug)fn SwitchedFabricPort::new(port_id~ : PortId, endpoint~ : EndpointId, name~ : String, capacity_octets_per_tick~ : Int, queue_limit_octets~ : Int, base_delay~ : Duration) -> SwitchedFabricPortpub(all) struct SwitchedFabricQosIrtFrameRecord {
record_id : Int
flow_id : Int
flow_label : String
output_port : PortId
priority : Int
enqueue_time : VTime
effective_enqueue_time : VTime
depart_time : VTime?
arrive_time : VTime?
phase_at_enqueue : SwitchedFabricIrtPhaseKind
held_by_red_phase : Bool
dropped_by_red_phase : Bool
released_in_green_phase : Bool
queue_occupancy_before : Int
queue_occupancy_after : Int
frame_size_octets : Int
background : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricQosIrtProfile {
name : String
queue_discipline : SwitchedFabricQueueDiscipline
ports : Array[SwitchedFabricPort]
flows : Array[SwitchedFabricTrafficFlow]
phase_table : Array[SwitchedFabricIrtPhaseWindow]
red_phase_drop_priority_floor : Int
complete_switched_fabric : Bool
live_io_evidence : Bool
real_netload_evidence : Bool
real_irt_evidence : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricQosIrtReport {
profile_name : String
seed : Int
queue_discipline : SwitchedFabricQueueDiscipline
trace_event_count : Int
replay_count : Int
same_seed_stable : Bool
digest : SimDigest
delivered_count : Int
dropped_count : Int
red_phase_hold_count : Int
red_phase_drop_count : Int
green_phase_release_count : Int
strict_priority_selection_count : Int
netload_octets : Int
high_priority_before_low_priority : Bool
complete_switched_fabric : Bool
live_io_evidence : Bool
real_netload_evidence : Bool
real_irt_evidence : Bool
} derive(Eq, Debug)pub(all) struct SwitchedFabricQosIrtRun {
seed : Int
profile : SwitchedFabricQosIrtProfile
frames : Array[SwitchedFabricQosIrtFrameRecord]
trace : TraceLog
digest : SimDigest
replay_count : Int
delivered_count : Int
dropped_count : Int
red_phase_hold_count : Int
red_phase_drop_count : Int
green_phase_release_count : Int
strict_priority_selection_count : Int
netload_octets : Int
high_priority_before_low_priority : Bool
} derive(Debug)pub(all) struct SwitchedFabricTrafficFlow {
flow_id : Int
source : EndpointId
target : EndpointId
label : String
priority : Int
frame_size_octets : Int
start_ns : Int64
period_ns : Int64
burst_count : Int
background : Bool
} derive(Eq, Debug)Deterministic run-test substrate for MoonBit
Dependencies