Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
data ValidTransportState Source #
data LocalEndPoint Source #
data LocalConnection 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