status-go/protocol/transport
Andrea Maria Piana e65760ca85 Add basic peersyncing
This commit adds basic syncing capabilities with peers if they are both
online.

It updates the work done on MVDS, but I decided to create the code in
status-go instead, since it's very tight to the application (similarly
the code that was the inspiration for mvds, bramble, is all tight
together at the database level).

I reused parts of the protobufs.

The flow is:

1) An OFFER message is sent periodically with a bunch of message-ids and
   group-ids.
2) Anyone can REQUEST some of those messages if not present in their
   database.

3) The peer will then send over those messages.

It's disabled by default, but I am planning to add a way to set up the
flags.
2024-01-23 12:46:17 +00:00
..
migrations Add basic peersyncing 2024-01-23 12:46:17 +00:00
envelopes_monitor.go chore_: adapt tracking for segmented messages 2023-11-24 17:41:52 +01:00
envelopes_monitor_test.go chore_: adapt tracking for segmented messages 2023-11-24 17:41:52 +01:00
filter.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
filters_manager.go Revert "test: bump go-libp2p" 2024-01-18 20:29:33 +00:00
filters_manager_test.go chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5 (#3559) 2023-06-07 08:58:01 +03:00
persistence.go Address linter issues 2022-03-28 13:14:12 +01:00
processed_message_ids_cache.go fix: sqlite variable limit 2021-09-22 08:04:28 -04:00
topic.go Revert "test: bump go-libp2p" 2024-01-18 20:29:33 +00:00
transport.go chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
transport_test.go fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00