Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data UdpState = UdpState {
- udpRecv :: !(HashTable Key UdpBuffer)
- udpPorts :: !(MVar UdpPort)
- udpQueue_ :: !(BoundedChan UdpResponderRequest)
- newUdpState :: Config -> IO UdpState
- class HasUdpState udp where
- type UdpBuffer = Buffer (Device, Addr, UdpPort, Addr, UdpPort)
- lookupRecv :: HasUdpState state => state -> Addr -> UdpPort -> IO (Maybe UdpBuffer)
- registerRecv :: HasUdpState state => state -> Addr -> UdpPort -> UdpBuffer -> IO (Maybe (IO ()))
- nextUdpPort :: HasUdpState state => state -> Addr -> IO (Maybe UdpPort)
- data UdpResponderRequest = SendDatagram !(RouteInfo Addr) !Addr !UdpHeader !ByteString
- udpQueue :: HasUdpState state => Getting r state (BoundedChan UdpResponderRequest)
Documentation
UdpState | |
|
class HasUdpState udp where Source #
lookupRecv :: HasUdpState state => state -> Addr -> UdpPort -> IO (Maybe UdpBuffer) Source #
registerRecv :: HasUdpState state => state -> Addr -> UdpPort -> UdpBuffer -> IO (Maybe (IO ())) Source #
Register a listener for messages to this address and port, returning Just
an action to unregister the listener on success.
nextUdpPort :: HasUdpState state => state -> Addr -> IO (Maybe UdpPort) Source #
Fast-path Resonder
udpQueue :: HasUdpState state => Getting r state (BoundedChan UdpResponderRequest) Source #