From c43c94776b13053afccef4341a488e68d102f700 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 24 Mar 2018 18:37:36 +0100 Subject: [PATCH] rclone: Make concurrent connections configurable --- internal/backend/rclone/backend.go | 2 +- internal/backend/rclone/config.go | 11 +++++++---- internal/backend/rclone/config_test.go | 3 ++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/internal/backend/rclone/backend.go b/internal/backend/rclone/backend.go index e431ec5a9..c37576ba7 100644 --- a/internal/backend/rclone/backend.go +++ b/internal/backend/rclone/backend.go @@ -212,7 +212,7 @@ func Open(cfg Config) (*Backend, error) { } restConfig := rest.Config{ - Connections: 20, + Connections: cfg.Connections, URL: url, } diff --git a/internal/backend/rclone/config.go b/internal/backend/rclone/config.go index fa4ce88df..c9a309282 100644 --- a/internal/backend/rclone/config.go +++ b/internal/backend/rclone/config.go @@ -9,9 +9,10 @@ import ( // Config contains all configuration necessary to start rclone. type Config struct { - Program string `option:"program" help:"path to rclone (default: rclone)"` - Args string `option:"args" help:"arguments for running rclone (default: serve restic --stdio)"` - Remote string + Program string `option:"program" help:"path to rclone (default: rclone)"` + Args string `option:"args" help:"arguments for running rclone (default: serve restic --stdio)"` + Remote string + Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 5)"` } func init() { @@ -20,7 +21,9 @@ func init() { // NewConfig returns a new Config with the default values filled in. func NewConfig() Config { - return Config{} + return Config{ + Connections: 5, + } } // ParseConfig parses the string s and extracts the remote server URL. diff --git a/internal/backend/rclone/config_test.go b/internal/backend/rclone/config_test.go index 05e4b2b29..a59e5fb53 100644 --- a/internal/backend/rclone/config_test.go +++ b/internal/backend/rclone/config_test.go @@ -13,7 +13,8 @@ func TestParseConfig(t *testing.T) { { "rclone:local:foo:/bar", Config{ - Remote: "local:foo:/bar", + Remote: "local:foo:/bar", + Connections: 5, }, }, }