Portability | non-portable (requires STM) |
---|---|
Stability | experimental |
Maintainer | phil@haphazardhouse.net |
Safe Haskell | None |
- type Address = String
- data Binding = Binding {
- bindingName :: Name
- unbind :: IO ()
- data Envelope = Envelope {}
- type Message = ByteString
- type Name = String
- data Resolver
- resolve :: Resolver -> Name -> IO (Maybe Address)
- resolverFromList :: [(Name, Address)] -> Resolver
- type Scheme = String
- data Transport = Transport {}
- module Control.Concurrent.Mailbox
Documentation
A Mailbox
is a place where transports can put messages for Endpoint
s
to receive. Typically Endpoint
s will use the same Mailbox
when
binding or connecting with a Transport
.
An address is a logical identifier suitable for establishing a connection to
another Endpoint
over a Transport
. It's use (if at all) is specific to the Transport
in question.
Binding | |
|
type Message = ByteStringSource
Messages are containers for arbitrary data that may be sent to other Endpoint
s.
Name for uniquely identifying an Endpoint
; suitable for identifying
the target destination for a Message
.
resolverFromList :: [(Name, Address)] -> ResolverSource
A Transport
defines a specific method for establishing connections
between Endpoint
s.
module Control.Concurrent.Mailbox