syncthing/lib/protocol
Jakob Borg 466b56ded1
lib/protocol: Cache expensive key operations (fixes #8599) (#8820)
This adds a cache to the expensive key generation operations. It's fixes
size LRU/MRU stuff to keep memory usage bounded under absurd conditions.

Also closes #8600.
2023-03-12 20:06:59 +01:00
..
mocks gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
benchmark_test.go lib/protocol: Cache expensive key operations (fixes #8599) (#8820) 2023-03-12 20:06:59 +01:00
bep_extensions.go lib/api: Expose blocksHash in file info (#8810) 2023-03-06 15:37:15 +01:00
bep.pb.go lib: Correctly handle encrypted trailer size (fixes #8556) (#8563) 2023-03-10 14:14:14 +01:00
bufferpool_test.go all: Use new Go 1.19 atomic types (#8772) 2023-02-07 12:07:34 +01:00
bufferpool.go all: Use new Go 1.19 atomic types (#8772) 2023-02-07 12:07:34 +01:00
common_test.go all: Remove unused method receivers (#8462) 2022-07-28 17:32:45 +02:00
compression_test.go all: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
compression.go all: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
conflict_test.go lib/db: Refactor to use global list by version (fixes #6372) (#6638) 2020-05-30 09:50:23 +02:00
counting.go all: Use new Go 1.19 atomic types (#8772) 2023-02-07 12:07:34 +01:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
deviceid_test.go lib: Use counterfeiter to mock interfaces in tests (#7375) 2021-03-03 08:53:50 +01:00
deviceid_test.pb.go all: Regenerate proto (#7696) 2021-05-19 13:30:20 +02:00
deviceid.go all: Clean up fmt.Errorf usage (#8309) 2022-04-27 20:30:13 +02:00
doc.go Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
encryption_test.go lib/protocol: Cache expensive key operations (fixes #8599) (#8820) 2023-03-12 20:06:59 +01:00
encryption.go lib/protocol: Cache expensive key operations (fixes #8599) (#8820) 2023-03-12 20:06:59 +01:00
errors.go lib/protocol: Simplify codeToError, errorToCode 2021-10-22 18:40:40 +02:00
hello_test.go all: Even more boring linter fixes (#5501) 2019-02-02 11:45:17 +01:00
hello.go lib/discover, lib/protocol: Buffer allocation 2021-09-06 15:30:56 +02:00
LICENSE Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
luhn_test.go lib/protocol: faster Luhn algorithm and better testing (#6475) 2020-03-29 22:28:04 +02:00
luhn.go lib/protocol: faster Luhn algorithm and better testing (#6475) 2020-03-29 22:28:04 +02:00
mocked_connection_info_test.go gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
nativemodel_darwin.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
nativemodel_unix.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
nativemodel_windows_test.go lib/model, lib/protocol: Handle request concurrency in model (#5216) 2018-11-13 08:53:55 +01:00
nativemodel_windows.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
protocol_test.go lib/protocol: Cache expensive key operations (fixes #8599) (#8820) 2023-03-12 20:06:59 +01:00
protocol.go lib/protocol: Cache expensive key operations (fixes #8599) (#8820) 2023-03-12 20:06:59 +01:00
vector_test.go lib/protocol: Avoid data loss on database wipe by higher version numbers (fixes #3876) (#6605) 2020-05-06 08:47:02 +02:00
vector.go lib/db, lib/protocol: Never need empty-version entries (fixes #6961) (#6962) 2020-09-07 20:18:25 +02:00
wireformat.go all: Add untrusted folders behind feature flag (ref #62) (#7055) 2020-11-09 15:33:32 +01:00