From 9cd971a35d87f2df833d3e6e5c0c646b992b461f Mon Sep 17 00:00:00 2001 From: rkonfj Date: Sat, 1 Jun 2024 17:03:18 +0800 Subject: [PATCH] peer/peermap: add NewURL func --- README.md | 12 +++++------- peer/peermap/peermap.go | 8 ++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c44a42b..43fa7f7 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Another p2p network library in Go #### 1. Run the pgmap daemon ``` $ pgmap -l 127.0.0.1:9987 --secret-key 5172554832d76672d1959a5ac63c5ab9 \ - --stun stun.qq.com:3478 --stun stun.miwifi.com:3478 + --stun stun.miwifi.com:3478 --stun stunserver.stunprotocol.org:3478 ``` #### 2. Wrap pgmap as an https server @@ -51,15 +51,13 @@ if err != nil { panic(err) } -pmap, err := peermap.New(peermapURL, networkSecret) +peermapServer, err := peermap.NewURL(peermapURL, networkSecret) if err != nil { panic(err) } -packetConn, err := p2p.ListenPacket( - pmap, - p2p.ListenPeerID("uniqueString"), // any unique string (less than 256bytes) -) +// peerID is a unique string (less than 256bytes) +packetConn, err := p2p.ListenPacket(peermapServer, p2p.ListenPeerID("uniqueString")) if err != nil { panic(err) } @@ -83,7 +81,7 @@ for { ```go ... -packetConn, err := p2p.ListenPacket(pmap) +packetConn, err := p2p.ListenPacket(peermapServer) if err != nil { panic(err) } diff --git a/peer/peermap/peermap.go b/peer/peermap/peermap.go index 4e558a1..368865e 100644 --- a/peer/peermap/peermap.go +++ b/peer/peermap/peermap.go @@ -30,6 +30,14 @@ func New(server *url.URL, store peer.SecretStore) (*Peermap, error) { }, nil } +func NewURL(serverURL string, store peer.SecretStore) (*Peermap, error) { + sURL, err := url.Parse(serverURL) + if err != nil { + return nil, fmt.Errorf("invalid peermap url: %w", err) + } + return New(sURL, store) +} + func (s *Peermap) SecretStore() peer.SecretStore { return s.store }