chore: upgrade libp2p version

This commit is contained in:
Richard Ramos 2022-07-25 14:32:54 -04:00
parent 41a3151f0a
commit a5757092a0
No known key found for this signature in database
GPG Key ID: BD36D48BC9FFC88C
11 changed files with 1304 additions and 553 deletions

29
conn.go
View File

@ -13,7 +13,7 @@ import (
"time" "time"
ic "github.com/libp2p/go-libp2p-core/crypto" ic "github.com/libp2p/go-libp2p-core/crypto"
smux "github.com/libp2p/go-libp2p-core/mux" "github.com/libp2p/go-libp2p-core/network"
peer "github.com/libp2p/go-libp2p-core/peer" peer "github.com/libp2p/go-libp2p-core/peer"
tpt "github.com/libp2p/go-libp2p-core/transport" tpt "github.com/libp2p/go-libp2p-core/transport"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
@ -24,10 +24,12 @@ import (
type connConfig struct { type connConfig struct {
transport *Transport transport *Transport
maAddr ma.Multiaddr scope network.ConnManagementScope
addr net.Addr
isServer bool maAddr ma.Multiaddr
remoteID peer.ID addr net.Addr
isServer bool
remoteID peer.ID
} }
func newConnConfig(transport *Transport, maAddr ma.Multiaddr, isServer bool) (*connConfig, error) { func newConnConfig(transport *Transport, maAddr ma.Multiaddr, isServer bool) (*connConfig, error) {
@ -57,7 +59,7 @@ type Conn struct {
lock sync.RWMutex lock sync.RWMutex
accept chan chan detachResult accept chan chan detachResult
isMuxed bool isMuxed bool
muxedConn smux.MuxedConn muxedConn network.MuxedConn
} }
func newConn(config *connConfig, pc *webrtc.PeerConnection, initChannel datachannel.ReadWriteCloser) *Conn { func newConn(config *connConfig, pc *webrtc.PeerConnection, initChannel datachannel.ReadWriteCloser) *Conn {
@ -191,7 +193,7 @@ func (c *Conn) IsClosed() bool {
} }
// OpenStream creates a new stream. // OpenStream creates a new stream.
func (c *Conn) OpenStream(ctx context.Context) (smux.MuxedStream, error) { func (c *Conn) OpenStream(ctx context.Context) (network.MuxedStream, error) {
muxed, err := c.getMuxed() muxed, err := c.getMuxed()
if err != nil { if err != nil {
return nil, err return nil, err
@ -235,10 +237,9 @@ func (c *Conn) getPC() (*webrtc.PeerConnection, error) {
return pc, nil return pc, nil
} }
func (c *Conn) getMuxed() (smux.MuxedConn, error) { func (c *Conn) getMuxed() (network.MuxedConn, error) {
c.lock.Lock() c.lock.Lock()
defer c.lock.Unlock() defer c.lock.Unlock()
if !c.isMuxed { if !c.isMuxed {
return nil, nil return nil, nil
} }
@ -265,8 +266,8 @@ func (c *Conn) getMuxed() (smux.MuxedConn, error) {
} }
// Note: caller should hold the conn lock. // Note: caller should hold the conn lock.
func (c *Conn) useMuxer(conn net.Conn, muxer smux.Multiplexer) error { func (c *Conn) useMuxer(conn net.Conn, muxer network.Multiplexer) error {
muxed, err := muxer.NewConn(conn, c.config.isServer) muxed, err := muxer.NewConn(conn, c.config.isServer, network.NullScope) // TODO: determine which scope to use
if err != nil { if err != nil {
return err return err
} }
@ -291,7 +292,7 @@ func (c *Conn) checkInitChannel() datachannel.ReadWriteCloser {
} }
// AcceptStream accepts a stream opened by the other side. // AcceptStream accepts a stream opened by the other side.
func (c *Conn) AcceptStream() (smux.MuxedStream, error) { func (c *Conn) AcceptStream() (network.MuxedStream, error) {
muxed, err := c.getMuxed() muxed, err := c.getMuxed()
if err != nil { if err != nil {
return nil, err return nil, err
@ -363,6 +364,10 @@ func (c *Conn) Transport() tpt.Transport {
return c.config.transport return c.config.transport
} }
func (c *Conn) Scope() network.ConnScope {
return network.NullScope
}
// Limit message size until we have a better // Limit message size until we have a better
// packetizing strategy. // packetizing strategy.
const dcWrapperBufSize = math.MaxUint16 const dcWrapperBufSize = math.MaxUint16

View File

@ -5,69 +5,67 @@ go 1.17
replace github.com/libp2p/go-libp2p-webrtc-direct => ../../ replace github.com/libp2p/go-libp2p-webrtc-direct => ../../
require ( require (
github.com/ipfs/go-log v1.0.5 github.com/ipfs/go-log/v2 v2.5.1
github.com/libp2p/go-libp2p v0.15.1 github.com/libp2p/go-libp2p v0.20.0
github.com/libp2p/go-libp2p-core v0.9.0 github.com/libp2p/go-libp2p-core v0.16.1
github.com/libp2p/go-libp2p-mplex v0.4.1 github.com/libp2p/go-libp2p-webrtc-direct v0.0.0-00010101000000-000000000000
github.com/libp2p/go-libp2p-webrtc-direct v0.0.0-20201219114432-56b02029fbb8 github.com/multiformats/go-multiaddr v0.6.0
github.com/multiformats/go-multiaddr v0.4.0 github.com/pion/webrtc/v3 v3.1.43
github.com/pion/webrtc/v3 v3.0.16
github.com/whyrusleeping/go-logging v0.0.1 github.com/whyrusleeping/go-logging v0.0.1
) )
require ( require (
github.com/benbjohnson/clock v1.3.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/btcsuite/btcd v0.22.0-beta // indirect github.com/btcsuite/btcd v0.22.1 // indirect
github.com/cespare/xxhash/v2 v2.1.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.1.3 // indirect
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cheekybits/genny v1.0.0 // indirect
github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327 // indirect
github.com/coreos/go-systemd/v22 v22.1.0 // indirect
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/docker/go-units v0.4.0 // indirect
github.com/elastic/gosigar v0.12.0 // indirect
github.com/flynn/noise v1.0.0 // indirect github.com/flynn/noise v1.0.0 // indirect
github.com/francoispqt/gojay v1.2.13 // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
github.com/godbus/dbus/v5 v5.0.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.2 // indirect github.com/golang/protobuf v1.5.2 // indirect
github.com/google/gopacket v1.1.19 // indirect github.com/google/gopacket v1.1.19 // indirect
github.com/google/uuid v1.3.0 // indirect github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/websocket v1.4.2 // indirect github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/huin/goupnp v1.0.0 // indirect
github.com/huin/goupnp v1.0.2 // indirect github.com/ipfs/go-cid v0.2.0 // indirect
github.com/ipfs/go-cid v0.0.7 // indirect
github.com/ipfs/go-ipfs-util v0.0.2 // indirect github.com/ipfs/go-ipfs-util v0.0.2 // indirect
github.com/ipfs/go-log/v2 v2.3.0 // indirect
github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jackpal/go-nat-pmp v1.0.2 // indirect
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
github.com/jbenet/goprocess v0.1.4 // indirect github.com/klauspost/compress v1.15.1 // indirect
github.com/klauspost/cpuid/v2 v2.0.9 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect
github.com/koron/go-ssdp v0.0.2 // indirect github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d // indirect
github.com/libp2p/go-addr-util v0.1.0 // indirect
github.com/libp2p/go-buffer-pool v0.0.2 // indirect github.com/libp2p/go-buffer-pool v0.0.2 // indirect
github.com/libp2p/go-conn-security-multistream v0.2.1 // indirect github.com/libp2p/go-cidranger v1.1.0 // indirect
github.com/libp2p/go-eventbus v0.2.1 // indirect github.com/libp2p/go-eventbus v0.2.1 // indirect
github.com/libp2p/go-flow-metrics v0.0.3 // indirect github.com/libp2p/go-flow-metrics v0.0.3 // indirect
github.com/libp2p/go-libp2p-autonat v0.4.2 // indirect github.com/libp2p/go-libp2p-asn-util v0.2.0 // indirect
github.com/libp2p/go-libp2p-blankhost v0.2.0 // indirect github.com/libp2p/go-libp2p-peerstore v0.6.0 // indirect
github.com/libp2p/go-libp2p-circuit v0.4.0 // indirect github.com/libp2p/go-libp2p-resource-manager v0.3.0 // indirect
github.com/libp2p/go-libp2p-discovery v0.5.1 // indirect github.com/libp2p/go-mplex v0.7.0 // indirect
github.com/libp2p/go-libp2p-nat v0.0.6 // indirect github.com/libp2p/go-msgio v0.2.0 // indirect
github.com/libp2p/go-libp2p-noise v0.2.2 // indirect github.com/libp2p/go-nat v0.1.0 // indirect
github.com/libp2p/go-libp2p-peerstore v0.2.8 // indirect github.com/libp2p/go-netroute v0.2.0 // indirect
github.com/libp2p/go-libp2p-pnet v0.2.0 // indirect
github.com/libp2p/go-libp2p-swarm v0.5.3 // indirect
github.com/libp2p/go-libp2p-tls v0.2.0 // indirect
github.com/libp2p/go-libp2p-transport-upgrader v0.4.6 // indirect
github.com/libp2p/go-libp2p-yamux v0.5.4 // indirect
github.com/libp2p/go-maddr-filter v0.1.0 // indirect
github.com/libp2p/go-mplex v0.3.0 // indirect
github.com/libp2p/go-msgio v0.0.6 // indirect
github.com/libp2p/go-nat v0.0.5 // indirect
github.com/libp2p/go-netroute v0.1.6 // indirect
github.com/libp2p/go-openssl v0.0.7 // indirect github.com/libp2p/go-openssl v0.0.7 // indirect
github.com/libp2p/go-reuseport v0.0.2 // indirect github.com/libp2p/go-reuseport v0.2.0 // indirect
github.com/libp2p/go-reuseport-transport v0.0.5 // indirect github.com/libp2p/go-yamux/v3 v3.1.2 // indirect
github.com/libp2p/go-sockaddr v0.1.1 // indirect github.com/lucas-clemente/quic-go v0.27.1 // indirect
github.com/libp2p/go-stream-muxer-multistream v0.3.0 // indirect github.com/marten-seemann/qtls-go1-16 v0.1.5 // indirect
github.com/libp2p/go-tcp-transport v0.2.8 // indirect github.com/marten-seemann/qtls-go1-17 v0.1.1 // indirect
github.com/libp2p/go-ws-transport v0.5.0 // indirect github.com/marten-seemann/qtls-go1-18 v0.1.1 // indirect
github.com/libp2p/go-yamux/v2 v2.2.0 // indirect
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
github.com/mattn/go-isatty v0.0.13 // indirect github.com/mattn/go-isatty v0.0.14 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/miekg/dns v1.1.43 // indirect github.com/miekg/dns v1.1.43 // indirect
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
@ -80,40 +78,52 @@ require (
github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
github.com/multiformats/go-multibase v0.0.3 // indirect github.com/multiformats/go-multibase v0.0.3 // indirect
github.com/multiformats/go-multihash v0.0.15 // indirect github.com/multiformats/go-multicodec v0.4.1 // indirect
github.com/multiformats/go-multistream v0.2.2 // indirect github.com/multiformats/go-multihash v0.1.0 // indirect
github.com/multiformats/go-multistream v0.3.3 // indirect
github.com/multiformats/go-varint v0.0.6 // indirect github.com/multiformats/go-varint v0.0.6 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/nxadm/tail v1.4.8 // indirect
github.com/pion/datachannel v1.4.21 // indirect github.com/onsi/ginkgo v1.16.5 // indirect
github.com/pion/dtls/v2 v2.0.8 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect
github.com/pion/ice/v2 v2.0.16 // indirect github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/pion/interceptor v0.0.11 // indirect github.com/pion/datachannel v1.5.2 // indirect
github.com/pion/dtls/v2 v2.1.5 // indirect
github.com/pion/ice/v2 v2.2.6 // indirect
github.com/pion/interceptor v0.1.11 // indirect
github.com/pion/logging v0.2.2 // indirect github.com/pion/logging v0.2.2 // indirect
github.com/pion/mdns v0.0.5 // indirect github.com/pion/mdns v0.0.5 // indirect
github.com/pion/randutil v0.1.0 // indirect github.com/pion/randutil v0.1.0 // indirect
github.com/pion/rtcp v1.2.6 // indirect github.com/pion/rtcp v1.2.9 // indirect
github.com/pion/rtp v1.6.2 // indirect github.com/pion/rtp v1.7.13 // indirect
github.com/pion/sctp v1.7.11 // indirect github.com/pion/sctp v1.8.2 // indirect
github.com/pion/sdp/v3 v3.0.4 // indirect github.com/pion/sdp/v3 v3.0.5 // indirect
github.com/pion/srtp/v2 v2.0.2 // indirect github.com/pion/srtp/v2 v2.0.10 // indirect
github.com/pion/stun v0.3.5 // indirect github.com/pion/stun v0.3.5 // indirect
github.com/pion/transport v0.12.3 // indirect github.com/pion/transport v0.13.1 // indirect
github.com/pion/turn/v2 v2.0.5 // indirect github.com/pion/turn/v2 v2.0.8 // indirect
github.com/pion/udp v0.1.0 // indirect github.com/pion/udp v0.1.1 // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.11.0 // indirect github.com/prometheus/client_golang v1.12.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.30.0 // indirect github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect github.com/prometheus/procfs v0.7.3 // indirect
github.com/raulk/clock v1.1.0 // indirect
github.com/raulk/go-watchdog v1.2.0 // indirect
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
github.com/spaolacci/murmur3 v1.1.0 // indirect
github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 // indirect github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 // indirect
go.uber.org/atomic v1.9.0 // indirect go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.19.0 // indirect go.uber.org/zap v1.19.1 // indirect
golang.org/x/crypto v0.0.0-20210813211128-0a44fdfbc16e // indirect golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8 // indirect
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect golang.org/x/mod v0.4.2 // indirect
golang.org/x/net v0.0.0-20220630215102-69896b714898 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912 // indirect golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.5 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
google.golang.org/protobuf v1.27.1 // indirect google.golang.org/protobuf v1.26.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
lukechampine.com/blake3 v1.1.6 // indirect
) )

File diff suppressed because it is too large Load Diff

View File

@ -3,27 +3,27 @@ package main
import ( import (
"bufio" "bufio"
"context" "context"
"io/ioutil"
"crypto/rand" "crypto/rand"
"flag" "flag"
"fmt" "fmt"
"io" "io"
"io/ioutil"
"log" "log"
mrand "math/rand" mrand "math/rand"
golog "github.com/ipfs/go-log" golog "github.com/ipfs/go-log/v2"
libp2p "github.com/libp2p/go-libp2p" libp2p "github.com/libp2p/go-libp2p"
crypto "github.com/libp2p/go-libp2p-core/crypto" crypto "github.com/libp2p/go-libp2p-core/crypto"
host "github.com/libp2p/go-libp2p-core/host" host "github.com/libp2p/go-libp2p-core/host"
net "github.com/libp2p/go-libp2p-core/network" net "github.com/libp2p/go-libp2p-core/network"
peer "github.com/libp2p/go-libp2p-core/peer" peer "github.com/libp2p/go-libp2p-core/peer"
pstore "github.com/libp2p/go-libp2p-core/peerstore" pstore "github.com/libp2p/go-libp2p-core/peerstore"
ma "github.com/multiformats/go-multiaddr"
gologging "github.com/whyrusleeping/go-logging"
mplex "github.com/libp2p/go-libp2p-mplex"
direct "github.com/libp2p/go-libp2p-webrtc-direct" direct "github.com/libp2p/go-libp2p-webrtc-direct"
"github.com/libp2p/go-libp2p/p2p/muxer/mplex"
ma "github.com/multiformats/go-multiaddr"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
gologging "github.com/whyrusleeping/go-logging"
) )
// makeBasicHost creates a LibP2P host with a random peer ID listening on the // makeBasicHost creates a LibP2P host with a random peer ID listening on the
@ -63,7 +63,7 @@ func makeBasicHost(listenPort int, insecure bool, randseed int64) (host.Host, er
opts = append(opts, libp2p.NoSecurity) opts = append(opts, libp2p.NoSecurity)
} }
basicHost, err := libp2p.New(context.Background(), opts...) basicHost, err := libp2p.New(opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -4,10 +4,10 @@ import (
"context" "context"
"flag" "flag"
"fmt" "fmt"
smux "github.com/libp2p/go-libp2p-core/mux" "github.com/libp2p/go-libp2p-core/network"
tpt "github.com/libp2p/go-libp2p-core/transport" tpt "github.com/libp2p/go-libp2p-core/transport"
mplex "github.com/libp2p/go-libp2p-mplex"
direct "github.com/libp2p/go-libp2p-webrtc-direct" direct "github.com/libp2p/go-libp2p-webrtc-direct"
mplex "github.com/libp2p/go-libp2p/p2p/muxer/mplex"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"io/ioutil" "io/ioutil"
@ -73,7 +73,7 @@ func handleConn(c tpt.CapableConn) {
go handleStream(s) go handleStream(s)
} }
} }
func handleStream(s smux.MuxedStream) { func handleStream(s network.MuxedStream) {
b, err := ioutil.ReadAll(s) b, err := ioutil.ReadAll(s)
check(err) check(err)
fmt.Println("[listener] Received:") fmt.Println("[listener] Received:")

View File

@ -4,8 +4,8 @@ import (
"context" "context"
"fmt" "fmt"
mplex "github.com/libp2p/go-libp2p-mplex"
direct "github.com/libp2p/go-libp2p-webrtc-direct" direct "github.com/libp2p/go-libp2p-webrtc-direct"
mplex "github.com/libp2p/go-libp2p/p2p/muxer/mplex"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
) )

68
go.mod
View File

@ -3,58 +3,60 @@ module github.com/libp2p/go-libp2p-webrtc-direct
go 1.17 go 1.17
require ( require (
github.com/ipfs/go-log v1.0.5 github.com/ipfs/go-log/v2 v2.5.1
github.com/libp2p/go-libp2p-core v0.8.5 github.com/libp2p/go-libp2p v0.20.0
github.com/libp2p/go-libp2p-mplex v0.4.1 github.com/libp2p/go-libp2p-core v0.16.1
github.com/libp2p/go-libp2p-testing v0.4.0 github.com/multiformats/go-multiaddr v0.6.0
github.com/multiformats/go-multiaddr v0.3.1
github.com/multiformats/go-multiaddr-fmt v0.1.0 github.com/multiformats/go-multiaddr-fmt v0.1.0
github.com/multiformats/go-multibase v0.0.3 github.com/multiformats/go-multibase v0.0.3
github.com/pion/datachannel v1.4.21 github.com/pion/datachannel v1.5.2
github.com/pion/webrtc/v3 v3.0.16 github.com/pion/webrtc/v3 v3.1.43
) )
require ( require (
github.com/btcsuite/btcd v0.20.1-beta // indirect github.com/btcsuite/btcd v0.22.1 // indirect
github.com/btcsuite/btcd/btcec/v2 v2.1.3 // indirect
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect
github.com/ipfs/go-cid v0.0.7 // indirect github.com/ipfs/go-cid v0.2.0 // indirect
github.com/ipfs/go-log/v2 v2.1.3 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect
github.com/jbenet/goprocess v0.1.4 // indirect
github.com/libp2p/go-buffer-pool v0.0.2 // indirect github.com/libp2p/go-buffer-pool v0.0.2 // indirect
github.com/libp2p/go-mplex v0.3.0 // indirect github.com/libp2p/go-libp2p-testing v0.9.2 // indirect
github.com/libp2p/go-mplex v0.7.0 // indirect
github.com/libp2p/go-openssl v0.0.7 // indirect github.com/libp2p/go-openssl v0.0.7 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
github.com/minio/sha256-simd v0.1.1 // indirect github.com/minio/sha256-simd v1.0.0 // indirect
github.com/mr-tron/base58 v1.2.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect
github.com/multiformats/go-base32 v0.0.3 // indirect github.com/multiformats/go-base32 v0.0.3 // indirect
github.com/multiformats/go-base36 v0.1.0 // indirect github.com/multiformats/go-base36 v0.1.0 // indirect
github.com/multiformats/go-multihash v0.0.14 // indirect github.com/multiformats/go-multicodec v0.4.1 // indirect
github.com/multiformats/go-multihash v0.1.0 // indirect
github.com/multiformats/go-varint v0.0.6 // indirect github.com/multiformats/go-varint v0.0.6 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pion/dtls/v2 v2.1.5 // indirect
github.com/pion/dtls/v2 v2.0.8 // indirect github.com/pion/ice/v2 v2.2.6 // indirect
github.com/pion/ice/v2 v2.0.16 // indirect github.com/pion/interceptor v0.1.11 // indirect
github.com/pion/interceptor v0.0.11 // indirect
github.com/pion/logging v0.2.2 // indirect github.com/pion/logging v0.2.2 // indirect
github.com/pion/mdns v0.0.5 // indirect github.com/pion/mdns v0.0.5 // indirect
github.com/pion/randutil v0.1.0 // indirect github.com/pion/randutil v0.1.0 // indirect
github.com/pion/rtcp v1.2.6 // indirect github.com/pion/rtcp v1.2.9 // indirect
github.com/pion/rtp v1.6.2 // indirect github.com/pion/rtp v1.7.13 // indirect
github.com/pion/sctp v1.7.11 // indirect github.com/pion/sctp v1.8.2 // indirect
github.com/pion/sdp/v3 v3.0.4 // indirect github.com/pion/sdp/v3 v3.0.5 // indirect
github.com/pion/srtp/v2 v2.0.2 // indirect github.com/pion/srtp/v2 v2.0.10 // indirect
github.com/pion/stun v0.3.5 // indirect github.com/pion/stun v0.3.5 // indirect
github.com/pion/transport v0.12.3 // indirect github.com/pion/transport v0.13.1 // indirect
github.com/pion/turn/v2 v2.0.5 // indirect github.com/pion/turn/v2 v2.0.8 // indirect
github.com/pion/udp v0.1.0 // indirect github.com/pion/udp v0.1.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect
go.uber.org/atomic v1.7.0 // indirect go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.16.0 // indirect go.uber.org/zap v1.19.1 // indirect
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8 // indirect
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 // indirect golang.org/x/net v0.0.0-20220630215102-69896b714898 // indirect
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005 // indirect golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect lukechampine.com/blake3 v1.1.6 // indirect
) )

999
go.sum

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
smux "github.com/libp2p/go-libp2p-core/mux" "github.com/libp2p/go-libp2p-core/network"
peer "github.com/libp2p/go-libp2p-core/peer" peer "github.com/libp2p/go-libp2p-core/peer"
tpt "github.com/libp2p/go-libp2p-core/transport" tpt "github.com/libp2p/go-libp2p-core/transport"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
@ -15,14 +15,14 @@ import (
// Transport is the WebRTC transport. // Transport is the WebRTC transport.
type Transport struct { type Transport struct {
webrtcOptions webrtc.Configuration webrtcOptions webrtc.Configuration
muxer smux.Multiplexer muxer network.Multiplexer
localID peer.ID localID peer.ID
api *webrtc.API api *webrtc.API
} }
// NewTransport creates a WebRTC transport that signals over a direct HTTP connection. // NewTransport creates a WebRTC transport that signals over a direct HTTP connection.
// It is currently required to provide a muxer. // It is currently required to provide a muxer.
func NewTransport(webrtcOptions webrtc.Configuration, muxer smux.Multiplexer) *Transport { func NewTransport(webrtcOptions webrtc.Configuration, muxer network.Multiplexer) *Transport {
s := webrtc.SettingEngine{} s := webrtc.SettingEngine{}
// Use Detach data channels mode // Use Detach data channels mode
s.DetachDataChannels() s.DetachDataChannels()

View File

@ -1,8 +1,8 @@
package libp2pwebrtcdirect package libp2pwebrtcdirect
import ( import (
logging "github.com/ipfs/go-log" logging "github.com/ipfs/go-log/v2"
smux "github.com/libp2p/go-libp2p-core/mux" "github.com/libp2p/go-libp2p-core/network"
tpt "github.com/libp2p/go-libp2p-core/transport" tpt "github.com/libp2p/go-libp2p-core/transport"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
) )
@ -16,4 +16,4 @@ var _ tpt.Transport = &Transport{}
var _ tpt.CapableConn = &Conn{} var _ tpt.CapableConn = &Conn{}
var _ tpt.Listener = &Listener{} var _ tpt.Listener = &Listener{}
var _ smux.MuxedStream = &Stream{} var _ network.MuxedStream = &Stream{}

View File

@ -1,18 +1,19 @@
package libp2pwebrtcdirect package libp2pwebrtcdirect
import ( import (
"github.com/pion/webrtc/v3"
"testing" "testing"
logging "github.com/ipfs/go-log" "github.com/pion/webrtc/v3"
mplex "github.com/libp2p/go-libp2p-mplex" logging "github.com/ipfs/go-log/v2"
utils "github.com/libp2p/go-libp2p-testing/suites/transport"
mplex "github.com/libp2p/go-libp2p/p2p/muxer/mplex"
utils "github.com/libp2p/go-libp2p/p2p/transport/testsuite"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
) )
func TestTransport(t *testing.T) { func TestTransport(t *testing.T) {
t.Skip("This test is failing, see https://github.com/libp2p/go-libp2p-webrtc-direct/issues/37") //t.Skip("This test is failing, see https://github.com/libp2p/go-libp2p-webrtc-direct/issues/37")
logging.SetLogLevel("*", "warning") logging.SetLogLevel("*", "warning")
ta := NewTransport( ta := NewTransport(