| Portability | non-portable (requires STM) |
|---|---|
| Stability | experimental |
| Maintainer | phil@haphazardhouse.net |
| Safe Haskell | None |
Network.Transport
Description
- 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 Endpoints
to receive. Typically Endpoints 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.
Constructors
| Binding | |
Fields
| |
Constructors
| Envelope | |
Fields | |
type Message = ByteStringSource
Messages are containers for arbitrary data that may be sent to other Endpoints.
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 Endpoints.
module Control.Concurrent.Mailbox