watchtower/conf: remove experimental conditional compilation
This commit is contained in:
parent
7c0a03c7c8
commit
db65d7ead4
@ -1,14 +1,68 @@
|
|||||||
// +build !experimental
|
|
||||||
|
|
||||||
package watchtower
|
package watchtower
|
||||||
|
|
||||||
// Conf specifies the watchtower options that be configured from the command
|
import (
|
||||||
// line or configuration file. In non-experimental builds, we disallow such
|
"time"
|
||||||
// configuration.
|
|
||||||
type Conf struct{}
|
|
||||||
|
|
||||||
// Apply returns an error signaling that the Conf could not be applied in
|
"github.com/lightningnetwork/lnd/lncfg"
|
||||||
// non-experimental builds.
|
)
|
||||||
func (c *Conf) Apply(cfg *Config) (*Config, error) {
|
|
||||||
return nil, ErrNonExperimentalConf
|
// Conf specifies the watchtower options that can be configured from the command
|
||||||
|
// line or configuration file.
|
||||||
|
type Conf struct {
|
||||||
|
// RawListeners configures the watchtower's listening ports/interfaces.
|
||||||
|
RawListeners []string `long:"listen" description:"Add interfaces/ports to listen for peer connections"`
|
||||||
|
|
||||||
|
// ReadTimeout specifies the duration the tower will wait when trying to
|
||||||
|
// read a message from a client before hanging up.
|
||||||
|
ReadTimeout time.Duration `long:"readtimeout" description:"Duration the watchtower server will wait for messages to be received before hanging up on clients"`
|
||||||
|
|
||||||
|
// WriteTimeout specifies the duration the tower will wait when trying
|
||||||
|
// to write a message from a client before hanging up.
|
||||||
|
WriteTimeout time.Duration `long:"writetimeout" description:"Duration the watchtower server will wait for messages to be written before hanging up on client connections"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply completes the passed Config struct by applying any parsed Conf options.
|
||||||
|
// If the corresponding values parsed by Conf are already set in the Config,
|
||||||
|
// those fields will be not be modified.
|
||||||
|
func (c *Conf) Apply(cfg *Config) (*Config, error) {
|
||||||
|
// Set the Config's listening addresses if they are empty.
|
||||||
|
if cfg.ListenAddrs == nil {
|
||||||
|
// Without a network, we will be unable to resolve the listening
|
||||||
|
// addresses.
|
||||||
|
if cfg.Net == nil {
|
||||||
|
return nil, ErrNoNetwork
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no addresses are specified by the Config, we will resort
|
||||||
|
// to the default peer port.
|
||||||
|
if len(c.RawListeners) == 0 {
|
||||||
|
addr := DefaultPeerPortStr
|
||||||
|
c.RawListeners = append(c.RawListeners, addr)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Normalize the raw listening addresses so that they can be
|
||||||
|
// used by the brontide listener.
|
||||||
|
var err error
|
||||||
|
cfg.ListenAddrs, err = lncfg.NormalizeAddresses(
|
||||||
|
c.RawListeners, DefaultPeerPortStr,
|
||||||
|
cfg.Net.ResolveTCPAddr,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the Config has no read timeout, we will use the parsed Conf
|
||||||
|
// value.
|
||||||
|
if cfg.ReadTimeout == 0 && c.ReadTimeout != 0 {
|
||||||
|
cfg.ReadTimeout = c.ReadTimeout
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the Config has no write timeout, we will use the parsed Conf
|
||||||
|
// value.
|
||||||
|
if cfg.WriteTimeout == 0 && c.WriteTimeout != 0 {
|
||||||
|
cfg.WriteTimeout = c.WriteTimeout
|
||||||
|
}
|
||||||
|
|
||||||
|
return cfg, nil
|
||||||
}
|
}
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
// +build experimental
|
|
||||||
|
|
||||||
package watchtower
|
|
||||||
|
|
||||||
import (
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/lightningnetwork/lnd/lncfg"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Conf specifies the watchtower options that can be configured from the command
|
|
||||||
// line or configuration file.
|
|
||||||
type Conf struct {
|
|
||||||
RawListeners []string `long:"listen" description:"Add interfaces/ports to listen for peer connections"`
|
|
||||||
|
|
||||||
ReadTimeout time.Duration `long:"readtimeout" description:"Duration the watchtower server will wait for messages to be received before hanging up on clients"`
|
|
||||||
|
|
||||||
WriteTimeout time.Duration `long:"writetimeout" description:"Duration the watchtower server will wait for messages to be written before hanging up on client connections"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply completes the passed Config struct by applying any parsed Conf options.
|
|
||||||
// If the corresponding values parsed by Conf are already set in the Config,
|
|
||||||
// those fields will be not be modified.
|
|
||||||
func (c *Conf) Apply(cfg *Config) (*Config, error) {
|
|
||||||
// Set the Config's listening addresses if they are empty.
|
|
||||||
if cfg.ListenAddrs == nil {
|
|
||||||
// Without a network, we will be unable to resolve the listening
|
|
||||||
// addresses.
|
|
||||||
if cfg.Net == nil {
|
|
||||||
return nil, ErrNoNetwork
|
|
||||||
}
|
|
||||||
|
|
||||||
// If no addresses are specified by the Config, we will resort
|
|
||||||
// to the default peer port.
|
|
||||||
if len(c.RawListeners) == 0 {
|
|
||||||
addr := DefaultPeerPortStr
|
|
||||||
c.RawListeners = append(c.RawListeners, addr)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Normalize the raw listening addresses so that they can be
|
|
||||||
// used by the brontide listener.
|
|
||||||
var err error
|
|
||||||
cfg.ListenAddrs, err = lncfg.NormalizeAddresses(
|
|
||||||
c.RawListeners, DefaultPeerPortStr,
|
|
||||||
cfg.Net.ResolveTCPAddr,
|
|
||||||
)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the Config has no read timeout, we will use the parsed Conf
|
|
||||||
// value.
|
|
||||||
if cfg.ReadTimeout == 0 && c.ReadTimeout != 0 {
|
|
||||||
cfg.ReadTimeout = c.ReadTimeout
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the Config has no write timeout, we will use the parsed Conf
|
|
||||||
// value.
|
|
||||||
if cfg.WriteTimeout == 0 && c.WriteTimeout != 0 {
|
|
||||||
cfg.WriteTimeout = c.WriteTimeout
|
|
||||||
}
|
|
||||||
|
|
||||||
return cfg, nil
|
|
||||||
}
|
|
@ -7,11 +7,6 @@ var (
|
|||||||
// rendering the tower unable to receive client requests.
|
// rendering the tower unable to receive client requests.
|
||||||
ErrNoListeners = errors.New("no listening ports were specified")
|
ErrNoListeners = errors.New("no listening ports were specified")
|
||||||
|
|
||||||
// ErrNonExperimentalConf signals that an attempt to apply a
|
|
||||||
// non-experimental Conf to a Config was detected.
|
|
||||||
ErrNonExperimentalConf = errors.New("cannot use watchtower in non-" +
|
|
||||||
"experimental builds")
|
|
||||||
|
|
||||||
// ErrNoNetwork signals that no tor.Net is provided in the Config, which
|
// ErrNoNetwork signals that no tor.Net is provided in the Config, which
|
||||||
// prevents resolution of listening addresses.
|
// prevents resolution of listening addresses.
|
||||||
ErrNoNetwork = errors.New("no network specified, must be tor or clearnet")
|
ErrNoNetwork = errors.New("no network specified, must be tor or clearnet")
|
||||||
|
Loading…
Reference in New Issue
Block a user