net: add LocalPeer funcs
Juan Batiz-Benet committed
Nov 21, 2014 at 04:34 UTC
f15ab8eec34a2a63359b0d0df708dd75c8b0b213
3 files changed
+15
net/interface.go
+5
@@ -20,6 +20,9 @@ type Network interface {
20
// Listen(*ma.Muliaddr) error
21
// TODO: for now, only listen on addrs in local peer when initializing.
22
23
+ // LocalPeer returns the local peer associated with this network
24
+ LocalPeer() peer.Peer
25
+
26
// DialPeer attempts to establish a connection to a given peer
27
DialPeer(context.Context, peer.Peer) error
28
@@ -71,6 +74,8 @@ type Service srv.Service
74
// (this is usually just a Network, but other services may not need the whole
75
// stack, and thus it becomes easier to mock)
76
type Dialer interface {
77
+ // LocalPeer returns the local peer associated with this network
78
+ LocalPeer() peer.Peer
79
80
// DialPeer attempts to establish a connection to a given peer
81
DialPeer(context.Context, peer.Peer) error
net/net.go
+5
@@ -69,6 +69,11 @@ func (n *IpfsNetwork) DialPeer(ctx context.Context, p peer.Peer) error {
69
return err
70
}
71
72
+// LocalPeer the network's LocalPeer
73
+func (n *IpfsNetwork) LocalPeer() peer.Peer {
74
+ return n.swarm.LocalPeer()
75
+}
76
+
77
// ClosePeer connection to peer
78
func (n *IpfsNetwork) ClosePeer(p peer.Peer) error {
79
return n.swarm.CloseConnection(p)
net/swarm/swarm.go
+5
@@ -217,3 +217,8 @@ func (s *Swarm) GetPeerList() []peer.Peer {
217
s.connsLock.RUnlock()
218
return out
219
}
220
+
221
+// LocalPeer returns the local peer swarm is associated to.
222
+func (s *Swarm) LocalPeer() peer.Peer {
223
+ return s.local
224
+}