Entire pinned concurrency/blocking_io.rs. Host mio Source/Poll and events remain real stateful effects; all event ordering, weak ownership, readiness and callback policy is implemented here.
@[reducible, inline]
Instances For
@[instance_reducible]
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.Interest.fulfilled
(interest : Interest)
(ready : Files.Readiness)
:
Equations
Instances For
- fd : Files.WeakRef
- blocked : Array (Concurrency.ThreadId × Interest)
Instances For
- poll : Option Poll
- sources : Array (Files.FdId × Source)
Instances For
- token : Files.FdId
- ready : Files.Readiness
Instances For
- readiness : Readiness.Hooks S F
- newPoll : M S (Except (IoError.HostError Host) Poll)
- registerHostSource : Poll → F → Files.FdId → Interest → M S (Except (IoError.HostError Host) Unit)
- pollHost : Poll → Option Clock.Duration → Nat → M S (Except (IoError.HostError Host) (Array Event))
- sourceReadiness : F → M S Files.Readiness
- setSourceReadiness : F → Files.Readiness → M S Unit
- cloneFd : F → M S F
Instances For
def
Miri.Interpreter.BlockingIo.newManager
{S F P H : Type}
(h : Hooks S F P H)
(communicate : Bool)
:
M S (Except (IoError.HostError H) (Manager P))
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.addBlockedThread
{S F P H : Type}
(h : Hooks S F P H)
(id : Files.FdId)
(thread : Concurrency.ThreadId)
(interest : Interest)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.removeBlockedThread
{S F P H : Type}
(h : Hooks S F P H)
(id : Files.FdId)
(thread : Concurrency.ThreadId)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.blockThreadForIo
{S F P H : Type}
(h : Hooks S F P H)
(fd : F)
(interest : Interest)
(deadline : Option Concurrency.ThreadDeadline)
(callback : Concurrency.SyncRuntime.Callback S)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.poll
{S F P H : Type}
(budget : Nat)
(h : Hooks S F P H)
(timeout : Option Clock.Duration)
:
M S (Except (IoError.HostError H) Unit)
All event-source readiness bits are OR-ed before any readiness or IO callbacks execute, matching the source collect::<Vec<_>>() first phase.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.BlockingIo.pollAndUnblock
{S F P H : Type}
(budget : Nat)
(h : Hooks S F P H)
(timeout : Option Clock.Duration)
:
Equations
- One or more equations did not get rendered due to their size.