Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Marlowe.Runtime.Proxy
Documentation
data MarloweProxy m Source #
Constructors
MarloweProxy | |
Fields
|
data MarloweProxyInProc m Source #
Constructors
MarloweProxyInProc | |
Fields
|
proxyInProc :: MonadUnliftIO m => Component m (RouterInProc m) (MarloweProxyInProc m) Source #
proxy :: (MonadUnliftIO m, MonadEvent r s m, MonadFail m) => Component m (Router r (ResourceT m)) (MarloweProxy m) Source #
Constructors
Router | |
Fields
|
data RouterInProc m Source #
Constructors
RouterInProc | |
Fields
|
server :: (MonadFail m, MonadEvent r s m) => Bool -> Router r m -> MarloweRuntimeServer m () Source #
serverInProc :: Monad m => RouterInProc m -> MarloweRuntimeServerDirect (ResourceT m) () Source #
useServerSource :: Monad m => (forall p q a. Functor p => (forall x. p x -> q x) -> server p a -> server q a) -> ServerSource server m () -> ResourceT m (server (ResourceT m) ()) Source #
marloweSyncNext :: PeerHasAgency pr st -> Message MarloweSync st st' -> NextAgency MarloweSync pr st st' Source #
marloweHeaderSyncNext :: PeerHasAgency pr st -> Message MarloweHeaderSync st st' -> NextAgency MarloweHeaderSync pr st st' Source #
queryNext :: Request req => PeerHasAgency pr st -> Message (Query req) st st' -> NextAgency (Query req) pr st st' Source #
loadNext :: PeerHasAgency pr st -> Message MarloweLoad st st' -> NextAgency MarloweLoad pr st st' Source #
transferNext :: PeerHasAgency pr st -> Message MarloweTransfer st st' -> NextAgency MarloweTransfer pr st st' Source #
jobNext :: Command cmd => PeerHasAgency pr st -> Message (Job cmd) st st' -> NextAgency (Job cmd) pr st st' Source #
data NextAgency ps pr (st :: ps) (st' :: ps) where Source #
Constructors
NextCall :: PeerHasAgency 'AsServer st' -> NextAgency ps 'AsClient st st' | |
NextCast :: PeerHasAgency pr st' -> NextAgency ps 'AsClient st st' | |
NextClose :: NobodyHasAgency st' -> NextAgency ps 'AsClient st st' | |
NextRespond :: PeerHasAgency 'AsClient st' -> NextAgency ps 'AsServer st st' | |
NextReceive :: PeerHasAgency pr st' -> NextAgency ps 'AsServer st st' | |
NextClosed :: NobodyHasAgency st' -> NextAgency ps 'AsServer st st' |
withHandshake :: forall ps pr st r s m. (HasSignature ps, MonadFail m, MonadEvent r s m) => Bool -> PeerHasAgency pr st -> m (Channel (Handshake ps) 'AsClient ('StInit st) m, r) -> (forall pr' st' st''. PeerHasAgency pr' st' -> Message ps st' st'' -> NextAgency ps pr' st' st'') -> m (PeerTraced ps 'AsServer st m ()) Source #
liftHandshake :: LiftProtocol ps (Handshake ps) 'StLift Source #
proxyProtocol :: Monad m => PeerHasAgency pr st -> Channel ps 'AsClient st m -> (forall pr' st' st''. PeerHasAgency pr' st' -> Message ps st' st'' -> NextAgency ps pr' st' st'') -> PeerTraced ps 'AsServer st m () Source #
toAgency :: NextAgency ps pr st st' -> Either (NobodyHasAgency st') (SomePeerHasAgency st') Source #