syncthing/lib/model
Jakob Borg 55937b61ca
lib/model: Add global request limiter (fixes #6302) (#6303)
This adds a new config with the simple and concise name
maxConcurrentIncomingRequestKiB. This limits how many bytes we have "in
the air" in the form of response data being read and processed.

After some testing I think that not having this limiter is seldom a
great idea and thus I propose a default value of 256 MiB for this new
setting.

I also refactored the folder IO limiter to be a model/folder attribute
instead of a package global.
2020-02-01 08:02:18 +01:00
..
testdata lib/fs, lib/model: Make tests caching compatible (fixes #4749) (#4804) 2018-03-13 14:03:10 +01:00
bytesemaphore_test.go lib/model: Allow limiting number of concurrent scans (fixes #2760) (#4888) 2018-12-05 08:40:05 +01:00
bytesemaphore.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
deviceactivity_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
deviceactivity.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
devicedownloadstate_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
devicedownloadstate.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
doc.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
fakeconns_test.go lib/model, lib/protocol: Add contexts sending indexes and download-progress (#6176) 2019-11-25 11:07:36 +01:00
folder_recvonly_test.go all: Transactionalize db.FileSet (fixes #5952) (#6239) 2020-01-21 18:23:08 +01:00
folder_recvonly.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
folder_sendonly.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
folder_sendrecv_test.go all: Transactionalize db.FileSet (fixes #5952) (#6239) 2020-01-21 18:23:08 +01:00
folder_sendrecv.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
folder_summary.go all: Transactionalize db.FileSet (fixes #5952) (#6239) 2020-01-21 18:23:08 +01:00
folder_test.go all: Display errors while scanning in web UI (fixes #4480) (#5215) 2018-11-07 11:04:41 +01:00
folder.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
folderstate.go lib/config, lib/model: Limit concurrent pulls (fixes #5914) (#6290) 2020-01-27 17:31:17 +01:00
model_test.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
model.go lib/model: Add global request limiter (fixes #6302) (#6303) 2020-02-01 08:02:18 +01:00
progressemitter_test.go lib/model: Handle progress emitter zero interval (fixes #6281) (#6282) 2020-01-20 21:14:29 +01:00
progressemitter.go lib/model: Handle progress emitter zero interval (fixes #6281) (#6282) 2020-01-20 21:14:29 +01:00
queue_test.go lib/model: Make jobQueue.Jobs paginated (fixes #5754) (#5804) 2019-06-27 19:25:38 +01:00
queue.go lib/model: Make jobQueue.Jobs paginated (fixes #5754) (#5804) 2019-06-27 19:25:38 +01:00
requests_test.go lib/model: Reset queue after all pulling is done (fixes #5867) (#6256) 2020-01-08 12:21:22 +01:00
sentdownloadstate.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
sharedpullerstate_test.go lib/model: Use errors.Wrap for pull errors (#5563) 2019-03-04 13:01:52 +00:00
sharedpullerstate.go lib/model: Optimise locking around conn-close and puller states (#5954) 2019-08-16 09:35:19 +02:00
testos_test.go lib/model: Introduce must test utility (#5586) 2019-03-09 18:45:36 +00:00
testutils_test.go all: Transactionalize db.FileSet (fixes #5952) (#6239) 2020-01-21 18:23:08 +01:00
util.go all: Remove potentially problematic errors from panics (fixes #5839) (#5912) 2019-07-31 10:53:35 +02:00
utils_test.go all: Remove potentially problematic errors from panics (fixes #5839) (#5912) 2019-07-31 10:53:35 +02:00