Skip to content
This repository was archived by the owner on Apr 30, 2025. It is now read-only.

Commit cf3a8a7

Browse files
committed
Add mdns and dht command line options
1 parent 83ae2bd commit cf3a8a7

3 files changed

Lines changed: 40 additions & 10 deletions

File tree

cmd/pcp/pcp.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ func main() {
5353
Name: "debug",
5454
Usage: "enables debug log output",
5555
},
56+
&cli.BoolFlag{
57+
Name: "dht",
58+
Usage: "if set only advertises via the DHT",
59+
},
60+
&cli.BoolFlag{
61+
Name: "mdns",
62+
Usage: "if set only advertises via mDNS",
63+
},
5664
},
5765
}
5866

pkg/receive/node.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,26 @@ func (n *Node) Shutdown() {
5353
n.Node.Shutdown()
5454
}
5555

56-
func (n *Node) StartDiscovering() {
56+
func (n *Node) StartDiscovering(c *cli.Context) {
5757
n.SetState(pcpnode.Discovering)
5858

59-
n.discoverers = []Discoverer{
60-
dht.NewDiscoverer(n, n.DHT),
61-
dht.NewDiscoverer(n, n.DHT).SetOffset(-dht.TruncateDuration),
62-
mdns.NewDiscoverer(n.Node),
63-
mdns.NewDiscoverer(n.Node).SetOffset(-dht.TruncateDuration),
59+
if c.Bool("mdns") == c.Bool("dht") {
60+
n.discoverers = []Discoverer{
61+
dht.NewDiscoverer(n, n.DHT),
62+
dht.NewDiscoverer(n, n.DHT).SetOffset(-dht.TruncateDuration),
63+
mdns.NewDiscoverer(n.Node),
64+
mdns.NewDiscoverer(n.Node).SetOffset(-dht.TruncateDuration),
65+
}
66+
} else if c.Bool("mdns") {
67+
n.discoverers = []Discoverer{
68+
mdns.NewDiscoverer(n.Node),
69+
mdns.NewDiscoverer(n.Node).SetOffset(-dht.TruncateDuration),
70+
}
71+
} else if c.Bool("dht") {
72+
n.discoverers = []Discoverer{
73+
dht.NewDiscoverer(n, n.DHT),
74+
dht.NewDiscoverer(n, n.DHT).SetOffset(-dht.TruncateDuration),
75+
}
6476
}
6577

6678
for _, discoverer := range n.discoverers {

pkg/send/node.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,22 @@ func (n *Node) Shutdown() {
6363

6464
// StartAdvertising asynchronously advertises the given code through the means of all
6565
// registered advertisers. Currently these are multicast DNS and DHT.
66-
func (n *Node) StartAdvertising() {
66+
func (n *Node) StartAdvertising(c *cli.Context) {
6767
n.SetState(pcpnode.Advertising)
6868

69-
n.advertisers = []Advertiser{
70-
dht.NewAdvertiser(n, n.DHT),
71-
mdns.NewAdvertiser(n.Node),
69+
if c.Bool("mdns") == c.Bool("dht") {
70+
n.advertisers = []Advertiser{
71+
dht.NewAdvertiser(n, n.DHT),
72+
mdns.NewAdvertiser(n.Node),
73+
}
74+
} else if c.Bool("mdns") {
75+
n.advertisers = []Advertiser{
76+
mdns.NewAdvertiser(n.Node),
77+
}
78+
} else if c.Bool("dht") {
79+
n.advertisers = []Advertiser{
80+
dht.NewAdvertiser(n, n.DHT),
81+
}
7282
}
7383

7484
for _, advertiser := range n.advertisers {

0 commit comments

Comments
 (0)