SecureConn is an authenticated, encrypted connection. Close closes the connection.
Any blocked Read or Write operations will be unblocked and return errors.
Close may or may not block until any buffered data is sent;
for TCP connections see [*TCPConn.SetLinger]. ConnState returns information about the connection state. LocalAddr returns the local network address, if known. LocalPeer returns our peer ID Read reads data from the connection.
Read can be made to time out and return an error after a fixed
time limit; see SetDeadline and SetReadDeadline. RemoteAddr returns the remote network address, if known. RemotePeer returns the peer ID of the remote peer. RemotePublicKey returns the public key of the remote peer. SetDeadline sets the read and write deadlines associated
with the connection. It is equivalent to calling both
SetReadDeadline and SetWriteDeadline.
A deadline is an absolute time after which I/O operations
fail instead of blocking. The deadline applies to all future
and pending I/O, not just the immediately following call to
Read or Write. After a deadline has been exceeded, the
connection can be refreshed by setting a deadline in the future.
If the deadline is exceeded a call to Read or Write or to other
I/O methods will return an error that wraps os.ErrDeadlineExceeded.
This can be tested using errors.Is(err, os.ErrDeadlineExceeded).
The error's Timeout method will return true, but note that there
are other possible errors for which the Timeout method will
return true even if the deadline has not been exceeded.
An idle timeout can be implemented by repeatedly extending
the deadline after successful Read or Write calls.
A zero value for t means I/O operations will not time out. SetReadDeadline sets the deadline for future Read calls
and any currently-blocked Read call.
A zero value for t means Read will not time out. SetWriteDeadline sets the deadline for future Write calls
and any currently-blocked Write call.
Even if write times out, it may return n > 0, indicating that
some of the data was successfully written.
A zero value for t means Write will not time out. Write writes data to the connection.
Write can be made to time out and return an error after a fixed
time limit; see SetDeadline and SetWriteDeadline.
*github.com/libp2p/go-libp2p/core/sec/insecure.Conn
SecureConn : github.com/libp2p/go-libp2p/core/network.ConnSecurity
SecureConn : github.com/miekg/dns.Writer
SecureConn : github.com/pion/datachannel.ReadDeadliner
SecureConn : github.com/pion/datachannel.WriteDeadliner
SecureConn : github.com/pion/stun.Connection
SecureConn : github.com/pion/stun/v3.Connection
SecureConn : github.com/prometheus/common/expfmt.Closer
SecureConn : internal/bisect.Writer
SecureConn : io.Closer
SecureConn : io.ReadCloser
SecureConn : io.Reader
SecureConn : io.ReadWriteCloser
SecureConn : io.ReadWriter
SecureConn : io.WriteCloser
SecureConn : io.Writer
SecureConn : net.Conn
func SecureTransport.SecureInbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func SecureTransport.SecureOutbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/core/sec/insecure.(*Transport).SecureInbound(_ context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/core/sec/insecure.(*Transport).SecureOutbound(_ context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/noise.(*SessionTransport).SecureInbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/noise.(*SessionTransport).SecureOutbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/noise.(*Transport).SecureInbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/noise.(*Transport).SecureOutbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/tls.(*Transport).SecureInbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
func github.com/libp2p/go-libp2p/p2p/security/tls.(*Transport).SecureOutbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)
A SecureTransport turns inbound and outbound unauthenticated,
plain-text, native connections into authenticated, encrypted connections. ID is the protocol ID of the security protocol. SecureInbound secures an inbound connection.
If p is empty, connections from any peer are accepted. SecureOutbound secures an outbound connection.
*github.com/libp2p/go-libp2p/core/sec/insecure.Transport
*github.com/libp2p/go-libp2p/p2p/security/noise.SessionTransport
*github.com/libp2p/go-libp2p/p2p/security/noise.Transport
*github.com/libp2p/go-libp2p/p2p/security/tls.Transport
func github.com/libp2p/go-libp2p/p2p/net/upgrader.New(security []SecureTransport, muxers []upgrader.StreamMuxer, psk ipnet.PSK, rcmgr network.ResourceManager, connGater connmgr.ConnectionGater, opts ...upgrader.Option) (transport.Upgrader, error)
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.