zebra/zebra-network/src
teor 04e96c2526
feat(net): Cache a list of useful peers on disk (#6739)
* Rewrite some state cache docs to clarify

* Add a zebra_network::Config.cache_dir for peer address caches

* Add new config test files and fix config test failure message

* Create some zebra-chain and zebra-network convenience functions

* Add methods for reading and writing the peer address cache

* Add cached disk peers to the initial peers list

* Add metrics and logging for loading and storing the peer cache

* Replace log of useless redacted peer IP addresses

* Limit the peer cache minimum and maximum size, don't write empty caches

* Add a cacheable_peers() method to the address book

* Add a peer disk cache updater task to the peer set tasks

* Document that the peer cache is shared by multiple instances unless configured otherwise

* Disable peer cache read/write in disconnected tests

* Make initial peer cache updater sleep shorter for tests

* Add unit tests for reading and writing the peer cache

* Update the task list in the start command docs

* Modify the existing persistent acceptance test to check for peer caches

* Update the peer cache directory when writing test configs

* Add a CacheDir type so the default config can be enabled, but tests can disable it

* Update tests to use the CacheDir config type

* Rename some CacheDir internals

* Add config file test cases for each kind of CacheDir config

* Panic if the config contains invalid socket addresses, rather than continuing

* Add a network directory to state cache directory contents tests

* Add new network.cache_dir config to the config parsing tests
2023-06-06 08:28:14 +00:00
..
address_book deduplicate first in `new_with_addrs` test function (#6724) 2023-05-19 08:36:09 +00:00
address_book_peers change(rpc): Add getpeerinfo RPC method (#5951) 2023-01-17 07:09:07 +00:00
config feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
isolated fix(log): Stop logging peer IP addresses, to protect user privacy (#6662) 2023-05-14 15:06:07 +00:00
meta_addr feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
peer Downgrade notfound logs to debug (#6795) 2023-05-31 20:55:59 +00:00
peer_set feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
protocol Delete outdated `TODOs` refering to closed issues (#6732) 2023-05-23 03:33:14 +00:00
address_book.rs feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
address_book_peers.rs change(rpc): Add getpeerinfo RPC method (#5951) 2023-01-17 07:09:07 +00:00
address_book_updater.rs feat(ui): Add a terminal-based progress bar to Zebra (#6235) 2023-04-13 08:42:17 +00:00
config.rs feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
constants.rs feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
isolated.rs fix(log): Stop logging peer IP addresses, to protect user privacy (#6662) 2023-05-14 15:06:07 +00:00
lib.rs feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
meta_addr.rs fix(network): Ignore out of order Address Book changes, unless they are concurrent (#6717) 2023-05-24 23:53:53 +00:00
peer.rs fix(net): Reject nodes using ZClassic ports, and warn if configured with those ports (#6567) 2023-04-28 00:17:37 +00:00
peer_cache_updater.rs feat(net): Cache a list of useful peers on disk (#6739) 2023-06-06 08:28:14 +00:00
peer_set.rs 1. Create an API for a missing inventory registry, but don't register any missing inventory yet (#3255) 2022-02-06 23:05:52 +00:00
policies.rs Delete outdated `TODOs` refering to closed issues (#6732) 2023-05-23 03:33:14 +00:00
protocol.rs Refactor protocol into internal, external modules. 2019-11-27 05:06:01 -05:00