| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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.
Synopsis
- 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) Source #
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 Source #
Constructors
| TransportInternals (TVar TransportState) |
data TransportState Source #
Constructors
| TransportValid !ValidTransportState | |
| TransportClosed |
data ValidTransportState Source #
Constructors
| ValidTransportState | |
Fields | |
data LocalEndPoint Source #
Constructors
| LocalEndPoint | |
Fields | |
data LocalEndPointState Source #
Constructors
| LocalEndPointValid !ValidLocalEndPointState | |
| LocalEndPointClosed |
data ValidLocalEndPointState Source #
Constructors
| ValidLocalEndPointState | |
Fields | |
data LocalConnection Source #
Constructors
| LocalConnection | |
data LocalConnectionState Source #
Low level functionality
apiNewEndPoint :: TVar TransportState -> IO (Either (TransportError NewEndPointErrorCode) EndPoint) Source #
Create a new end point.
apiCloseEndPoint :: TVar TransportState -> EndPointAddress -> IO () Source #
apiBreakConnection :: TVar TransportState -> EndPointAddress -> EndPointAddress -> String -> STM () Source #
Tear down functions that should be called in case if conncetion fails.
apiConnect :: EndPointAddress -> TVar TransportState -> EndPointAddress -> Reliability -> ConnectHints -> IO (Either (TransportError ConnectErrorCode) Connection) Source #
Create a new connection
apiSend :: TChan Event -> TVar TransportState -> LocalConnection -> [ByteString] -> IO (Either (TransportError SendErrorCode) ()) Source #
Send a message over a connection
apiClose :: TChan Event -> TVar TransportState -> LocalConnection -> IO () Source #
Close a connection