From 30c7cfd7252328b32d12ff49eb628179929475b9 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Thu, 3 Nov 2016 14:01:18 -0700 Subject: [PATCH] implement GetStreams --- package.json | 4 ++-- swarm_conn.go | 8 +++++++- swarm_net_test.go | 9 +++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5e45e3b..79549a7 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 4b13be5..0b0c626 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 ff13934..95bc268 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) -- GitLab