Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

improve AutoRelay configuration, add config option for static relays #154

Merged
merged 3 commits into from
Nov 15, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions swarm.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,16 @@ type SwarmConfig struct {
// EnableAutoRelay enables the "auto relay user" feature.
// Node will find and use advertised public relays when it determines that
// it's not reachable from the public internet.
EnableAutoRelay bool
//
// Deprecated: This flag is deprecated and is overriden by
// `Swarm.AutoRelay.Enabled` if specified.
EnableAutoRelay bool `json:",omitempty"`

// RelayClient controls the client side of "auto relay" feature.
// When enabled, the node will use relays if it is not publicly reachable.
RelayClient RelayClient

// RelayService.* controls the "auto relay service" feature.
// RelayService.* controls the "relay service".
// When enabled, node will provide a limited relay service to other peers.
RelayService RelayService

Expand All @@ -35,10 +42,20 @@ type SwarmConfig struct {
ConnMgr ConnMgr
}

type RelayClient struct {
// Enables the auto relay feature: will use relays if it is not publicly reachable.
Enabled Flag `json:",omitempty"`

// StaticRelays configures static relays to use when this node is not
// publicly reachable. If set, auto relay will not try to find any
// other relay servers.
StaticRelays []string `json:",omitempty"`
}

// RelayService configures the resources of the circuit v2 relay.
// For every field a reasonable default will be defined in go-ipfs.
type RelayService struct {
// Enables the limited relay (circuit v2 relay).
// Enables the limited relay service for other peers (circuit v2 relay).
Enabled Flag `json:",omitempty"`

// ConnectionDurationLimit is the time limit before resetting a relayed connection.
Expand Down