Safe Haskell | None |
---|---|
Language | Haskell98 |
Network.Transport.InMemory.Internal
Description
Internal part of the implementation. This module is for internal use or advanced debuging. There are no guarantees about stability of this module.
- createTransportExposeInternals :: IO (Transport, TransportInternals)
- newtype TransportInternals = TransportInternals (TVar TransportState)
- data TransportState
- data ValidTransportState = ValidTransportState {}
- data LocalEndPoint = LocalEndPoint {}
- data LocalEndPointState
- data ValidLocalEndPointState = ValidLocalEndPointState {}
- data LocalConnection = LocalConnection {}
- data LocalConnectionState
- apiNewEndPoint :: TVar TransportState -> IO (Either (TransportError NewEndPointErrorCode) EndPoint)
- apiCloseEndPoint :: TVar TransportState -> EndPointAddress -> IO ()
- apiBreakConnection :: TVar TransportState -> EndPointAddress -> EndPointAddress -> String -> STM ()
- apiConnect :: EndPointAddress -> TVar TransportState -> EndPointAddress -> Reliability -> ConnectHints -> IO (Either (TransportError ConnectErrorCode) Connection)
- apiSend :: TChan Event -> TVar TransportState -> LocalConnection -> [ByteString] -> IO (Either (TransportError SendErrorCode) ())
- apiClose :: TChan Event -> TVar TransportState -> LocalConnection -> IO ()
Documentation
createTransportExposeInternals :: IO (Transport, TransportInternals) #
Create a new Transport exposing internal state.
Useful for testing and/or debugging purposes. Should not be used in production. No guarantee as to the stability of the internals API.
Internal structures
newtype TransportInternals #
Constructors
TransportInternals (TVar TransportState) |
data TransportState #
Constructors
TransportValid !ValidTransportState | |
TransportClosed |
data ValidTransportState #
Constructors
ValidTransportState | |
Fields |
data LocalEndPoint #
Constructors
LocalEndPoint | |
Fields |
data LocalEndPointState #
Constructors
LocalEndPointValid !ValidLocalEndPointState | |
LocalEndPointClosed |
data ValidLocalEndPointState #
Constructors
ValidLocalEndPointState | |
Fields |
data LocalConnection #
Constructors
LocalConnection | |
data LocalConnectionState #
Low level functionality
apiNewEndPoint :: TVar TransportState -> IO (Either (TransportError NewEndPointErrorCode) EndPoint) #
Create a new end point.
apiCloseEndPoint :: TVar TransportState -> EndPointAddress -> IO () #
apiBreakConnection :: TVar TransportState -> EndPointAddress -> EndPointAddress -> String -> STM () #
Tear down functions that should be called in case if conncetion fails.
apiConnect :: EndPointAddress -> TVar TransportState -> EndPointAddress -> Reliability -> ConnectHints -> IO (Either (TransportError ConnectErrorCode) Connection) #
Create a new connection
apiSend :: TChan Event -> TVar TransportState -> LocalConnection -> [ByteString] -> IO (Either (TransportError SendErrorCode) ()) #
Send a message over a connection
apiClose :: TChan Event -> TVar TransportState -> LocalConnection -> IO () #
Close a connection