Documentation ¶
Index ¶
- Constants
- Variables
- func ID(c Conn) string
- func MultiaddrNetMatch(tgt ma.Multiaddr, srcs []ma.Multiaddr) ma.Multiaddr
- func MultiaddrProtocolsMatch(a, b ma.Multiaddr) bool
- func ReleaseBuffer(b []byte)
- func String(c Conn, typ string) string
- type Conn
- type ConnWrapper
- type Dialer
- type Listener
- type ListenerConnWrapper
- type PeerConn
- type WrapFunc
Constants ¶
const ( SecioTag = "/secio/1.0.0" NoEncryptionTag = "/plaintext/1.0.0" )
Variables ¶
var EncryptConnections = true
EncryptConnections is a global parameter because it should either be enabled or _completely disabled_. I.e. a node should only be able to talk to proper (encrypted) networks if it is encrypting all its transports. Running a node with disabled transport encryption is useful to debug the protocols, achieve implementation interop, or for private networks which -- for whatever reason -- _must_ run unencrypted.
var (
NegotiateReadTimeout = time.Second * 60
)
Functions ¶
func MultiaddrNetMatch ¶
MultiaddrNetMatch returns the first Multiaddr found to match network.
func MultiaddrProtocolsMatch ¶
MultiaddrProtocolsMatch returns whether two multiaddrs match in protocol stacks.
func ReleaseBuffer ¶
func ReleaseBuffer(b []byte)
ReleaseBuffer puts the given byte array back into the buffer pool, first verifying that it is the correct size
Types ¶
type Conn ¶
type Conn interface { PeerConn // ID is an identifier unique to this connection. ID() string // can't just say "net.Conn" cause we have duplicate methods. LocalAddr() net.Addr RemoteAddr() net.Addr SetDeadline(t time.Time) error SetReadDeadline(t time.Time) error SetWriteDeadline(t time.Time) error io.Reader io.Writer }
Conn is a generic message-based Peer-to-Peer connection.
type ConnWrapper ¶
ConnWrapper is any function that wraps a raw multiaddr connection
type Dialer ¶
type Dialer struct { // LocalPeer is the identity of the local Peer. LocalPeer peer.ID // Dialers are the sub-dialers usable by this dialer // selected in order based on the address being dialed Dialers []transport.Dialer // PrivateKey used to initialize a secure connection. // Warning: if PrivateKey is nil, connection will not be secured. PrivateKey ic.PrivKey // Wrapper to wrap the raw connection (optional) Wrapper WrapFunc // contains filtered or unexported fields }
Dialer is an object that can open connections. We could have a "convenience" Dial function as before, but it would have many arguments, as dialing is no longer simple (need a peerstore, a local peer, a context, a network, etc)
type Listener ¶
type Listener interface { // Accept waits for and returns the next connection to the listener. Accept() (net.Conn, error) // Addr is the local address Addr() net.Addr // Multiaddr is the local multiaddr address Multiaddr() ma.Multiaddr // LocalPeer is the identity of the local Peer. LocalPeer() peer.ID SetAddrFilters(*filter.Filters) // Close closes the listener. // Any blocked Accept operations will be unblocked and return errors. Close() error }
Listener is an object that can accept connections. It matches net.Listener
type ListenerConnWrapper ¶
type ListenerConnWrapper interface {
SetConnWrapper(ConnWrapper)
}