diff --git a/package.json b/package.json index 5e45e3b32d7e99e7b3cf22f074dd9e70cd0a67d9..79549a758a3e776be7a6c5f2523848e6ebda0565 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ }, { "author": "whyrusleeping", - "hash": "QmNbLFRGG1uHVfQM2fRFrhc7dgjThXkYUAp5qChFqxYNSH", + "hash": "QmUQhsqvLehBDWjFq3C3nT6ZkGEsdPWSzxV6sNAzjRMfQQ", "name": "go-peerstream", - "version": "1.3.0" + "version": "1.4.0" }, { "author": "whyrusleeping", diff --git a/swarm_conn.go b/swarm_conn.go index 4b13be54f1a8f48276c34286cdbe18a5260308f2..0b0c626cea5817f4e0051e9260b0bd0d54dd36ab 100644 --- a/swarm_conn.go +++ b/swarm_conn.go @@ -92,7 +92,13 @@ func (c *Conn) Close() error { } func (c *Conn) GetStreams() ([]inet.Stream, error) { - return nil, fmt.Errorf("GetStreams() not yet implemented") + ss := c.StreamConn().Streams() + out := make([]inet.Stream, len(ss)) + + for i, s := range ss { + out[i] = (*Stream)(s) + } + return out, nil } func wrapConn(psc *ps.Conn) (*Conn, error) { diff --git a/swarm_net_test.go b/swarm_net_test.go index ff13934088deb851679e3d0d3dc3aa2567f2fa39..95bc268307943f7d494f692d248ff960b98339b7 100644 --- a/swarm_net_test.go +++ b/swarm_net_test.go @@ -165,6 +165,15 @@ func TestNetworkOpenStream(t *testing.T) { t.Fatal(err) } + streams, err := nets[0].ConnsToPeer(nets[1].LocalPeer())[0].GetStreams() + if err != nil { + t.Fatal(err) + } + + if len(streams) != 1 { + t.Fatal("should only have one stream there") + } + _, err = s.Write([]byte("hello ipfs")) if err != nil { t.Fatal(err)