README

mokomoking2501/lockwire/scenario does not have a README file

#
Timeout

type Timeout = Event[Unit]

#
AnyResult

pub(all) struct AnyResult[T] {
winner_id : Int
winner_index : Int
value : T
pending_ids : Array[Int]
} derive(Eq,
Debug
)

#
CancelReason

pub(all) enum CancelReason {
UserCancelled(String)
} derive(Eq,
Debug
)

#
Event

pub struct Event[T] {
// private fields
}

#
Event::cause_id

fn[T] Event::cause_id(self : Event[T]) -> Int

#
Event::id

fn[T] Event::id(self : Event[T]) -> Int

#
Event::is_pending

fn[T] Event::is_pending(self : Event[T]) -> Bool

#
Event::state

fn[T] Event::state(self : Event[T]) -> EventState

#
Event::value

fn[T] Event::value(self : Event[T]) -> T?

#
EventCell

type EventCell[T]

#
EventState

pub(all) enum EventState {
Pending
Scheduled(
VTime
)
Processed
Cancelled(CancelReason)
Failed(String)
} derive(Eq,
Debug
)

#
ProcessHandle

pub struct ProcessHandle[T] {
// private fields
}

#
ProcessHandle::event

fn[T] ProcessHandle::event(self : ProcessHandle[T]) -> Event[T]

#
ProcessHandle::name

fn[T] ProcessHandle::name(self : ProcessHandle[T]) -> String

#
ScheduledAction

type ScheduledAction

#
SimEnv

pub struct SimEnv {
// private fields
}

#
SimEnv::checkpoint

#
SimEnv::new

fn SimEnv::new(seed~ : Int) -> SimEnv

#
SimEnv::run

fn SimEnv::run(self : SimEnv) -> Unit

#
SimEnv::run_until_event

fn[T] SimEnv::run_until_event(self : SimEnv, ev : Event[T]) -> T

#
SimEnv::run_until_pred

fn SimEnv::run_until_pred(self : SimEnv, pred : () -> Bool) -> Unit

#
SimEnv::run_until_time

fn SimEnv::run_until_time(self : SimEnv, t :
VTime
) -> Unit

#
SimEnv::step

fn SimEnv::step(self : SimEnv) -> StepResult

#
StepResult

pub(all) enum StepResult {
StepProcessed(event_id~ : Int, time~ :
VTime
)
Idle
} derive(Eq,
Debug
)

#
all_of

fn[T] all_of(env : SimEnv, events : Array[Event[T]]) -> Event[Array[T]]

#
any_of

fn[T] any_of(env : SimEnv, events : Array[Event[T]]) -> Event[AnyResult[T]]

#
cancel

fn[T] cancel(ev : Event[T], reason : CancelReason) -> Unit

#
event

fn[T] event(env : SimEnv) -> Event[T]

#
fail

fn[T] fail(ev : Event[T], message : String) -> Unit

#
package_id

fn package_id() -> String

#
spawn

fn[T] spawn(env : SimEnv, name~ : String, f : (SimEnv) -> T) -> ProcessHandle[T]

#
succeed

fn[T] succeed(ev : Event[T], value : T) -> Unit

#
timeout

Source Files