| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Network.LibP2P.Transport.Transport
Description
Transport abstraction for libp2p.
Defines the record-of-functions pattern for transport-agnostic connection management. Each transport (TCP, QUIC, etc.) provides a Transport value with diallistencanDial implementations.
Synopsis
- data RawConnection = RawConnection {
- rcStreamIO :: !StreamIO
- rcLocalAddr :: !Multiaddr
- rcRemoteAddr :: !Multiaddr
- rcClose :: !(IO ())
- data Listener = Listener {
- listenerAccept :: !(IO RawConnection)
- listenerClose :: !(IO ())
- listenerAddr :: !Multiaddr
- data Transport = Transport {
- transportDial :: !(Multiaddr -> IO RawConnection)
- transportListen :: !(Multiaddr -> IO Listener)
- transportCanDial :: !(Multiaddr -> Bool)
Documentation
data RawConnection Source #
A raw (unencrypted, un-muxed) connection from a transport. Provides byte-level I/O via StreamIO, plus address info and cleanup.
Constructors
| RawConnection | |
Fields
| |
A listener that accepts inbound connections.
Constructors
| Listener | |
Fields
| |
Transport provides dial/listen capabilities for a specific protocol.
Constructors
| Transport | |
Fields
| |