distributed-process-0.7.5: Cloud Haskell: Erlang-style concurrency in Haskell
Safe HaskellNone
LanguageHaskell2010

Control.Distributed.Process.Internal.Types

Description

Types used throughout the Cloud Haskell framework

We collect all types used internally in a single module because many of these data types are mutually recursive and cannot be split across modules.

Synopsis

Node and process identifiers

newtype NodeId Source #

Node identifier

Constructors

NodeId 

Instances

Instances details
Data NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NodeId -> c NodeId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NodeId #

toConstr :: NodeId -> Constr #

dataTypeOf :: NodeId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NodeId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NodeId) #

gmapT :: (forall b. Data b => b -> b) -> NodeId -> NodeId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NodeId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NodeId -> r #

gmapQ :: (forall d. Data d => d -> u) -> NodeId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NodeId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NodeId -> m NodeId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeId -> m NodeId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeId -> m NodeId #

Generic NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep NodeId 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep NodeId = D1 ('MetaData "NodeId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'True) (C1 ('MetaCons "NodeId" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodeAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EndPointAddress)))

Methods

from :: NodeId -> Rep NodeId x #

to :: Rep NodeId x -> NodeId #

Show NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

put :: NodeId -> Put #

get :: Get NodeId #

putList :: [NodeId] -> Put #

NFData NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: NodeId -> () #

Eq NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

(==) :: NodeId -> NodeId -> Bool #

(/=) :: NodeId -> NodeId -> Bool #

Ord NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

hashWithSalt :: Int -> NodeId -> Int #

hash :: NodeId -> Int #

type Rep NodeId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep NodeId = D1 ('MetaData "NodeId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'True) (C1 ('MetaCons "NodeId" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodeAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EndPointAddress)))

data LocalProcessId Source #

A local process ID consists of a seed which distinguishes processes from different instances of the same local node and a counter

Constructors

LocalProcessId 

Instances

Instances details
Data LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocalProcessId -> c LocalProcessId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocalProcessId #

toConstr :: LocalProcessId -> Constr #

dataTypeOf :: LocalProcessId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocalProcessId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocalProcessId) #

gmapT :: (forall b. Data b => b -> b) -> LocalProcessId -> LocalProcessId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocalProcessId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocalProcessId -> r #

gmapQ :: (forall d. Data d => d -> u) -> LocalProcessId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LocalProcessId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocalProcessId -> m LocalProcessId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalProcessId -> m LocalProcessId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalProcessId -> m LocalProcessId #

Generic LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep LocalProcessId 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep LocalProcessId = D1 ('MetaData "LocalProcessId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "LocalProcessId" 'PrefixI 'True) (S1 ('MetaSel ('Just "lpidUnique") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "lpidCounter") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int32)))
Show LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Eq LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Ord LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep LocalProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep LocalProcessId = D1 ('MetaData "LocalProcessId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "LocalProcessId" 'PrefixI 'True) (S1 ('MetaSel ('Just "lpidUnique") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "lpidCounter") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int32)))

data ProcessId Source #

Process identifier

Constructors

ProcessId 

Fields

Instances

Instances details
Data ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProcessId -> c ProcessId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProcessId #

toConstr :: ProcessId -> Constr #

dataTypeOf :: ProcessId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProcessId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProcessId) #

gmapT :: (forall b. Data b => b -> b) -> ProcessId -> ProcessId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProcessId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProcessId -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProcessId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProcessId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProcessId -> m ProcessId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcessId -> m ProcessId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcessId -> m ProcessId #

Generic ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep ProcessId 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep ProcessId = D1 ('MetaData "ProcessId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "ProcessId" 'PrefixI 'True) (S1 ('MetaSel ('Just "processNodeId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NodeId) :*: S1 ('MetaSel ('Just "processLocalId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 LocalProcessId)))
Show ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

NFData ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: ProcessId -> () #

Eq ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Ord ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep ProcessId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep ProcessId = D1 ('MetaData "ProcessId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "ProcessId" 'PrefixI 'True) (S1 ('MetaSel ('Just "processNodeId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NodeId) :*: S1 ('MetaSel ('Just "processLocalId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 LocalProcessId)))

data Identifier Source #

Union of all kinds of identifiers

Instances

Instances details
Generic Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep Identifier 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep Identifier = D1 ('MetaData "Identifier" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "NodeIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NodeId)) :+: (C1 ('MetaCons "ProcessIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProcessId)) :+: C1 ('MetaCons "SendPortIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SendPortId))))
Show Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

NFData Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: Identifier -> () #

Eq Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Ord Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep Identifier Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep Identifier = D1 ('MetaData "Identifier" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "NodeIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NodeId)) :+: (C1 ('MetaCons "ProcessIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProcessId)) :+: C1 ('MetaCons "SendPortIdentifier" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SendPortId))))

Local nodes and processes

data LocalNode Source #

Local nodes

Constructors

LocalNode 

Fields

data ValidLocalNodeState Source #

Constructors

ValidLocalNodeState 

Fields

withValidLocalState :: LocalNode -> (ValidLocalNodeState -> IO r) -> IO r Source #

Wrapper around withMVar that checks that the local node is still in a valid state.

modifyValidLocalState :: LocalNode -> (ValidLocalNodeState -> IO (ValidLocalNodeState, a)) -> IO (Maybe a) Source #

Wrapper around modifyMVar that checks that the local node is still in a valid state.

modifyValidLocalState_ :: LocalNode -> (ValidLocalNodeState -> IO ValidLocalNodeState) -> IO () Source #

Wrapper around modifyMVar_ that checks that the local node is still in a valid state.

data Tracer Source #

Provides access to the trace controller

Constructors

Tracer 

Fields

data MxEventBus Source #

Local system management event bus state

Constructors

MxEventBusInitialising 
MxEventBus 

Fields

newtype Process a Source #

The Cloud Haskell Process type

Constructors

Process 

Instances

Instances details
MonadFail Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

fail :: String -> Process a #

MonadFix Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

mfix :: (a -> Process a) -> Process a #

MonadIO Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

liftIO :: IO a -> Process a #

Applicative Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

pure :: a -> Process a #

(<*>) :: Process (a -> b) -> Process a -> Process b #

liftA2 :: (a -> b -> c) -> Process a -> Process b -> Process c #

(*>) :: Process a -> Process b -> Process b #

(<*) :: Process a -> Process b -> Process a #

Functor Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

fmap :: (a -> b) -> Process a -> Process b #

(<$) :: a -> Process b -> Process a #

Monad Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

(>>=) :: Process a -> (a -> Process b) -> Process b #

(>>) :: Process a -> Process b -> Process b #

return :: a -> Process a #

MonadCatch Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

catch :: (HasCallStack, Exception e) => Process a -> (e -> Process a) -> Process a #

MonadMask Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

mask :: HasCallStack => ((forall a. Process a -> Process a) -> Process b) -> Process b #

uninterruptibleMask :: HasCallStack => ((forall a. Process a -> Process a) -> Process b) -> Process b #

generalBracket :: HasCallStack => Process a -> (a -> ExitCase b -> Process c) -> (a -> Process b) -> Process (b, c) #

MonadThrow Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

throwM :: (HasCallStack, Exception e) => e -> Process a #

MonadReader LocalProcess Process Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Serializable b => MkTDict (Process b) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Closure.Explicit

runLocalProcess :: LocalProcess -> Process a -> IO a Source #

Deconstructor for Process (not exported to the public API)

Typed channels

data SendPortId Source #

A send port is identified by a SendPortId.

You cannot send directly to a SendPortId; instead, use newChan to create a SendPort.

Constructors

SendPortId 

Fields

Instances

Instances details
Generic SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep SendPortId 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep SendPortId = D1 ('MetaData "SendPortId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "SendPortId" 'PrefixI 'True) (S1 ('MetaSel ('Just "sendPortProcessId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ProcessId) :*: S1 ('MetaSel ('Just "sendPortLocalId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 LocalSendPortId)))
Show SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

NFData SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: SendPortId -> () #

Eq SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Ord SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep SendPortId Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep SendPortId = D1 ('MetaData "SendPortId" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "SendPortId" 'PrefixI 'True) (S1 ('MetaSel ('Just "sendPortProcessId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ProcessId) :*: S1 ('MetaSel ('Just "sendPortLocalId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 LocalSendPortId)))

newtype SendPort a Source #

The send send of a typed channel (serializable)

Constructors

SendPort 

Fields

Instances

Instances details
Generic (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep (SendPort a) 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep (SendPort a) = D1 ('MetaData "SendPort" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'True) (C1 ('MetaCons "SendPort" 'PrefixI 'True) (S1 ('MetaSel ('Just "sendPortId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SendPortId)))

Methods

from :: SendPort a -> Rep (SendPort a) x #

to :: Rep (SendPort a) x -> SendPort a #

Show (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

showsPrec :: Int -> SendPort a -> ShowS #

show :: SendPort a -> String #

showList :: [SendPort a] -> ShowS #

Serializable a => Binary (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

put :: SendPort a -> Put #

get :: Get (SendPort a) #

putList :: [SendPort a] -> Put #

NFData a => NFData (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: SendPort a -> () #

Eq (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

(==) :: SendPort a -> SendPort a -> Bool #

(/=) :: SendPort a -> SendPort a -> Bool #

Ord (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

compare :: SendPort a -> SendPort a -> Ordering #

(<) :: SendPort a -> SendPort a -> Bool #

(<=) :: SendPort a -> SendPort a -> Bool #

(>) :: SendPort a -> SendPort a -> Bool #

(>=) :: SendPort a -> SendPort a -> Bool #

max :: SendPort a -> SendPort a -> SendPort a #

min :: SendPort a -> SendPort a -> SendPort a #

Hashable a => Hashable (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

hashWithSalt :: Int -> SendPort a -> Int #

hash :: SendPort a -> Int #

type Rep (SendPort a) Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep (SendPort a) = D1 ('MetaData "SendPort" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'True) (C1 ('MetaCons "SendPort" 'PrefixI 'True) (S1 ('MetaSel ('Just "sendPortId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SendPortId)))

newtype ReceivePort a Source #

The receive end of a typed channel (not serializable)

Note that ReceivePort implements Functor, Applicative, Alternative and Monad. This is especially useful when merging receive ports.

Constructors

ReceivePort 

Fields

Messages

data Message Source #

Messages consist of their typeRep fingerprint and their encoding

Instances

Instances details
Show Message Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary Message Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

put :: Message -> Put #

get :: Get Message #

putList :: [Message] -> Put #

NFData Message Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: Message -> () #

isEncoded :: Message -> Bool Source #

internal use only.

createMessage :: Serializable a => a -> Message Source #

Turn any serialiable term into a message

createUnencodedMessage :: Serializable a => a -> Message Source #

Turn any serializable term into an unencoded/local message

unsafeCreateUnencodedMessage :: Serializable a => a -> Message Source #

Turn any serializable term into an unencodede/local message, without evalutaing it! This is a dangerous business.

messageToPayload :: Message -> [ByteString] Source #

Serialize a message

payloadToMessage :: [ByteString] -> Message Source #

Deserialize a message

Node controller user-visible data types

data MonitorRef Source #

MonitorRef is opaque for regular Cloud Haskell processes

Constructors

MonitorRef 

Fields

Instances

Instances details
Generic MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Associated Types

type Rep MonitorRef 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep MonitorRef = D1 ('MetaData "MonitorRef" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "MonitorRef" 'PrefixI 'True) (S1 ('MetaSel ('Just "monitorRefIdent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Identifier) :*: S1 ('MetaSel ('Just "monitorRefCounter") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))
Show MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

NFData MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

rnf :: MonitorRef -> () #

Eq MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Ord MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Hashable MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep MonitorRef Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

type Rep MonitorRef = D1 ('MetaData "MonitorRef" "Control.Distributed.Process.Internal.Types" "distributed-process-0.7.5-14hdXLMmdeU5goWgtdXS4F" 'False) (C1 ('MetaCons "MonitorRef" 'PrefixI 'True) (S1 ('MetaSel ('Just "monitorRefIdent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Identifier) :*: S1 ('MetaSel ('Just "monitorRefCounter") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))

data ProcessRegistrationException Source #

Exception thrown when a process attempts to register a process under an already-registered name or to unregister a name that hasn't been registered. Returns the name and the identifier of the process that owns it, if any.

data DiedReason Source #

Why did a process die?

Constructors

DiedNormal

Normal termination

DiedException !String

The process exited with an exception (provided as String because Exception does not implement Binary)

DiedDisconnect

We got disconnected from the process node

DiedNodeDown

The process node died

DiedUnknownId

Invalid (processnodechannel) identifier

newtype DidUnmonitor Source #

(Asynchronous) reply from unmonitor

Constructors

DidUnmonitor MonitorRef 

Instances

Instances details
Binary DidUnmonitor Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

newtype DidUnlinkProcess Source #

(Asynchronous) reply from unlink

newtype DidUnlinkNode Source #

(Asynchronous) reply from unlinkNode

Constructors

DidUnlinkNode NodeId 

Instances

Instances details
Binary DidUnlinkNode Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

newtype DidUnlinkPort Source #

(Asynchronous) reply from unlinkPort

Instances

Instances details
Binary DidUnlinkPort Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

newtype SpawnRef Source #

SpawnRef are used to return pids of spawned processes

Constructors

SpawnRef Int32 

data DidSpawn Source #

(Asynchronius) reply from spawn

Instances

Instances details
Show DidSpawn Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Binary DidSpawn Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

put :: DidSpawn -> Put #

get :: Get DidSpawn #

putList :: [DidSpawn] -> Put #

data WhereIsReply Source #

(Asynchronous) reply from whereis

data RegisterReply Source #

(Asynchronous) reply from register and unregister

Node controller internal data types

data NCMsg Source #

Messages to the node controller

Instances

Instances details
Show NCMsg Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

showsPrec :: Int -> NCMsg -> ShowS #

show :: NCMsg -> String #

showList :: [NCMsg] -> ShowS #

Binary NCMsg Source # 
Instance details

Defined in Control.Distributed.Process.Internal.Types

Methods

put :: NCMsg -> Put #

get :: Get NCMsg #

putList :: [NCMsg] -> Put #

Accessors

Utilities

forever' :: Monad m => m a -> m b Source #