transport

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2019 License: MIT Imports: 1 Imported by: 48

README

go-libp2p-transport

GoDoc Coverage Status Build Status Discourse posts

libp2p transport code

A common interface for network transports.

This is the 'base' layer for any transport that wants to be used by libp2p and ipfs. If you want to make 'ipfs work over X', the first thing you'll want to do is to implement the Transport interface for 'X'.

Transports are:

  • Encrypted: Connections must be end-to-end encrypted.
  • Authenticated: The endpoints, RemotePeer and LocalPeer, must be authenticated.
  • Multiplexed: It must be possible to multiplex multiple reliable streams over a single transport connection.

Install

> go get github.com/libp2p/go-libp2p-transport

This repo is gomod-compatible, and users of go 1.11 and later with modules enabled will automatically pull the latest tagged release by referencing this package. Upgrades to future releases can be managed using go get, or by editing your go.mod file as described by the gomod documentation.

Usage

To actually use a transport, you'll likely want to register it with a transport.Network (e.g., go-libp2p-swarm). However, you're probably more interested in implementing transports.

Transports construct fully featured, encrypted, multiplexed connections. However, there's a fairly good chance your transport won't meet all of those requirements. To make life easier, we've created a helper library called go-libp2p-transport-upgrader for upgrading simple stream transports to fully-featured (encrypted, authenticated, multiplexed) transports. Check out that package's README for an example.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

Want to hack on IPFS?

License

MIT


The last gx published version of this module was: 3.0.27: QmNQWMWWBmkAcaVEspSNwYB95axzKFhYTdqZtABA2zXoPu

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AcceptTimeout = core.AcceptTimeout

Deprecated: use github.com/libp2p/go-libp2p-core/transport.AcceptTimeout instead. Warning: it's not possible to alias variables in Go. Setting a value here may have no effect.

View Source
var DialTimeout = core.DialTimeout

Deprecated: use github.com/libp2p/go-libp2p-core/transport.DialTimeout instead. Warning: it's not possible to alias variables in Go. Setting a value here may have no effect.

Functions

This section is empty.

Types

type Conn deprecated

type Conn = core.CapableConn

Deprecated: use github.com/libp2p/go-libp2p-core/transport.CapableConn instead.

type Listener deprecated

type Listener = core.Listener

Deprecated: use github.com/libp2p/go-libp2p-core/transport.Listener instead.

type Network deprecated

type Network = core.TransportNetwork

Deprecated: use github.com/libp2p/go-libp2p-core/transport.TransportNetwork instead.

type Transport deprecated

type Transport = core.Transport

Deprecated: use github.com/libp2p/go-libp2p-core/transport.Transport instead.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL