libp2p.transport package

Subpackages

Submodules

libp2p.transport.exceptions module

exception libp2p.transport.exceptions.MuxerUpgradeFailure

Bases: UpgradeFailure

exception libp2p.transport.exceptions.OpenConnectionError

Bases: BaseLibp2pError

exception libp2p.transport.exceptions.SecurityUpgradeFailure

Bases: UpgradeFailure

exception libp2p.transport.exceptions.UpgradeFailure

Bases: BaseLibp2pError

libp2p.transport.listener_interface module

class libp2p.transport.listener_interface.IListener

Bases: ABC

abstract async close() None
abstract get_addrs() Tuple[Multiaddr, ...]

Retrieve list of addresses the listener is listening on.

Returns:

return list of addrs

abstract async listen(maddr: Multiaddr, nursery: Nursery) bool

Put listener in listening mode and wait for incoming connections.

Parameters:

maddr – multiaddr of peer

Returns:

return True if successful

libp2p.transport.transport_interface module

class libp2p.transport.transport_interface.ITransport

Bases: ABC

abstract create_listener(handler_function: Callable[[ReadWriteCloser], Awaitable[None]]) IListener

Create listener on transport.

Parameters:

handler_function – a function called when a new conntion is received that takes a connection as argument which implements interface-connection

Returns:

a listener object that implements listener_interface.py

abstract async dial(maddr: Multiaddr) IRawConnection

Dial a transport to peer listening on multiaddr.

Parameters:
  • multiaddr – multiaddr of peer

  • self_id – peer_id of the dialer (to send to receiver)

Returns:

list of multiaddrs

libp2p.transport.typing module

libp2p.transport.upgrader module

class libp2p.transport.upgrader.TransportUpgrader(secure_transports_by_protocol: Mapping[TProtocol, ISecureTransport], muxer_transports_by_protocol: Mapping[TProtocol, Type[IMuxedConn]])

Bases: object

muxer_multistream: MuxerMultistream
security_multistream: SecurityMultistream
async upgrade_connection(conn: ISecureConn, peer_id: ID) IMuxedConn

Upgrade secured connection to a muxed connection.

upgrade_listener(transport: ITransport, listeners: IListener) None

Upgrade multiaddr listeners to libp2p-transport listeners.

async upgrade_security(raw_conn: IRawConnection, peer_id: ID, is_initiator: bool) ISecureConn

Upgrade conn to a secured connection.

Module contents