node: Implement subscriptions via bloom filter
modified node/src/protocol.rs
@@ -33,6 +33,7 @@ use crate::storage::{Inventory, ReadRepository, RefUpdate, WriteRepository, Writ
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -450,7 +451,7 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -551,14 +552,8 @@ where
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -581,23 +576,31 @@ where
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -742,7 +745,14 @@ where
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -753,6 +763,7 @@ where
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -835,9 +846,28 @@ impl<S, T, G> Context<S, T, G> {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified node/src/protocol/filter.rs
@@ -9,13 +9,34 @@ use crate::protocol::wire;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -30,9 +51,10 @@ impl DerefMut for Filter {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -48,6 +70,11 @@ impl wire::Encode for Filter {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified node/src/protocol/message.rs
@@ -196,6 +196,16 @@ impl wire::Decode for Address {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -339,11 +349,7 @@ pub enum Message {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -412,6 +418,14 @@ impl Message {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -428,7 +442,10 @@ impl fmt::Debug for Message {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -473,11 +490,11 @@ impl wire::Encode for Message {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -539,11 +556,11 @@ impl wire::Decode for Message {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified node/src/protocol/peer.rs
@@ -49,6 +49,8 @@ pub struct Peer {
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -66,6 +68,7 @@ impl Peer {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -230,8 +233,8 @@ impl Peer {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
modified node/src/protocol/wire.rs
@@ -21,6 +21,8 @@ pub enum Error {
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
modified node/src/test/arbitrary.rs
@@ -4,6 +4,7 @@ use std::net;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -13,9 +14,10 @@ use crate::crypto::{PublicKey, SecretKey};
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -60,6 +62,17 @@ impl<const N: usize> Arbitrary for ByteArray<N> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -76,6 +89,7 @@ impl Arbitrary for Message {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -112,6 +126,11 @@ impl Arbitrary for Message {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|