提交 35da0885 作者: Łukasz Magiera

daemon: config option for routing

License: MIT
Signed-off-by: 's avatarŁukasz Magiera <magik6k@gmail.com>
上级 3cbf97be
......@@ -45,6 +45,7 @@ const (
routingOptionDHTClientKwd = "dhtclient"
routingOptionDHTKwd = "dht"
routingOptionNoneKwd = "none"
routingOptionDefaultKwd = "default"
unencryptTransportKwd = "disable-transport-encryption"
unrestrictedApiAccessKwd = "unrestricted-api"
writableKwd = "writable"
......@@ -151,6 +152,7 @@ Headers.
cmdkit.BoolOption(initOptionKwd, "Initialize ipfs with default settings if not already initialized"),
cmdkit.StringOption(initProfileOptionKwd, "Configuration profiles to apply for --init. See ipfs init --help for more"),
cmdkit.StringOption(routingOptionKwd, "Overrides the routing option").WithDefault("dht"),
cmdkit.StringOption(routingOptionKwd, "Overrides the routing option").WithDefault("default"),
cmdkit.BoolOption(mountKwd, "Mounts IPFS to the filesystem"),
cmdkit.BoolOption(writableKwd, "Enable writing objects (with POST, PUT and DELETE)"),
cmdkit.StringOption(ipfsMountKwd, "Path to the mountpoint for IPFS (if using --mount). Defaults to config setting."),
......@@ -300,6 +302,22 @@ func daemonFunc(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment
}
routingOption, _ := req.Options[routingOptionKwd].(string)
if err != nil {
re.SetError(err, cmdkit.ErrNormal)
return
}
if routingOption == routingOptionDefaultKwd {
cfg, err := repo.Config()
if err != nil {
re.SetError(err, cmdkit.ErrNormal)
return
}
routingOption = cfg.Discovery.Routing
if routingOption == "" {
routingOption = routingOptionDHTKwd
}
}
switch routingOption {
case routingOptionSupernodeKwd:
re.SetError(errors.New("supernode routing was never fully implemented and has been removed"), cmdkit.ErrNormal)
......
......@@ -197,6 +197,13 @@ Default: `true`
- `Interval`
A number of seconds to wait between discovery checks.
- `Routing`
Content routing mode. Can be overridden with daemon `--routing` flag.
Valid modes are:
- `dht` (default)
- `dhtclient`
- `none`
- `supernode` (deprecated)
## `Gateway`
Options for the HTTP gateway.
......
package config
type Discovery struct {
MDNS MDNS
MDNS MDNS
//Routing sets default daemon routing mode.
Routing string
}
type MDNS struct {
......
......@@ -38,10 +38,13 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) {
Datastore: datastore,
Bootstrap: BootstrapPeerStrings(bootstrapPeers),
Identity: identity,
Discovery: Discovery{MDNS{
Enabled: true,
Interval: 10,
}},
Discovery: Discovery{
MDNS: MDNS{
Enabled: true,
Interval: 10,
},
Routing: "dht",
},
// setup the node mount points.
Mounts: Mounts{
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论