node: Implement staggered broadcast for gossip
modified radicle-cli/tests/commands.rs
@@ -1067,6 +1067,7 @@ fn rad_patch_delete() {
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified radicle-node/src/service.rs
@@ -70,6 +70,8 @@ use self::policy::NamespacesError;
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -409,6 +411,9 @@ pub struct Service<D, S, G> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -427,6 +432,8 @@ pub struct Service<D, S, G> {
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -504,7 +511,9 @@ where
|
|
|
|
|
|
| + | |
|
|
| + | |
|
|
|
|
|
@@ -737,6 +746,7 @@ where
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -780,6 +790,15 @@ where
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1410,9 +1429,10 @@ where
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1424,15 +1444,10 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
|
|
|
|
|
@@ -1452,29 +1467,47 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1492,12 +1525,12 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1545,7 +1578,7 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1598,7 +1631,7 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1672,7 +1705,7 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1724,21 +1757,22 @@ where
|
|
|
|
|
|
| - | |
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -2188,10 +2222,46 @@ where
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle-node/src/service/gossip.rs
@@ -2,8 +2,7 @@ pub mod store;
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
modified radicle-node/src/service/gossip/store.rs
@@ -23,6 +23,9 @@ pub enum Error {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -35,7 +38,17 @@ pub trait Store {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -78,7 +91,11 @@ impl Store for Database {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -89,7 +106,8 @@ impl Store for Database {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -112,9 +130,53 @@ impl Store for Database {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -124,7 +186,7 @@ impl Store for Database {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -138,32 +200,9 @@ impl Store for Database {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -251,6 +290,24 @@ impl From<wire::Error> for sql::Error {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -297,6 +354,43 @@ impl TryFrom<&sql::Value> for GossipType {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -304,6 +398,7 @@ mod test {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -326,10 +421,26 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
modified radicle-node/src/test/peer.rs
@@ -201,11 +201,13 @@ where
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -271,8 +273,9 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
| + | |
|
|
|
|
|
modified radicle-node/src/tests.rs
@@ -605,38 +605,47 @@ fn test_announcement_relay() {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -648,7 +657,9 @@ fn test_announcement_relay() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -703,7 +714,9 @@ fn test_refs_announcement_relay() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -711,20 +724,26 @@ fn test_refs_announcement_relay() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -953,6 +972,8 @@ fn test_refs_announcement_offline() {
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -965,16 +986,19 @@ fn test_inventory_relay() {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -990,32 +1014,38 @@ fn test_inventory_relay() {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1028,16 +1058,19 @@ fn test_inventory_relay() {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1764,6 +1797,7 @@ fn prop_inventory_exchange_dense() {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1781,6 +1815,23 @@ fn test_announcement_message_amplification() {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1868,6 +1919,17 @@ fn test_announcement_message_amplification() {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1894,5 +1956,6 @@ fn test_announcement_message_amplification() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
modified radicle/src/node/db.rs
@@ -29,6 +29,7 @@ const MIGRATIONS: &[&str] = &[
|
|
|
|
|
|
| + | |
|
|
|
|
|
added radicle/src/node/db/migrations/5.sql
@@ -0,0 +1,7 @@
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |