Mead.Deck.Interaction (mead v0.1.1)

Copy Markdown View Source

The Mead.Router.Interaction of a deck turn: every question and every progress report is a call into the Mead.Deck.Channel of the session, which owns the policy, the event log and the clock.

The context is %{channel: pid, turn_id: String.t()}. request_permission/2 returns only when the channel has an answer, however long that takes (the channel's own deadline ends the wait), so the calls use an infinite timeout. A channel that is gone takes the turn down with it, which is right: the session it belongs to is gone too.