mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-21 18:37:26 +08:00
* blossomsub: Remove unused mutex * blossomsub: Add RPC queue * blossomsub: Use RPC queue * blossomsub: Add IDONTWANT control message to protos * blossomsub: Add IDONTWANT tracing support * blossomsub: Add pre-validation * blossomsub: Add IDONTWANT feature flag * blossomsub: Add IDONTWANT parameters * blossomsub: Add IDONTWANT observability * blossomsub: Send IDONTWANT control messages * blossomsub: Handle IDONTWANT control messages * blossomsub: Clear maps efficiently * blossomsub: Increase IDONTWANT parameter defaults * blossomsub: Do not send IDONTWANT to original sender * blossomsub: Add IDONTWANT unit tests
62 lines
1.1 KiB
Protocol Buffer
62 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package blossomsub.pb;
|
|
|
|
option go_package = "source.quilibrium.com/quilibrium/monorepo/go-libp2p-blossomsub/pb";
|
|
|
|
message RPC {
|
|
repeated SubOpts subscriptions = 1;
|
|
repeated Message publish = 2;
|
|
|
|
message SubOpts {
|
|
bool subscribe = 1; // subscribe or unsubcribe
|
|
bytes bitmask = 2;
|
|
}
|
|
|
|
ControlMessage control = 3;
|
|
}
|
|
|
|
message Message {
|
|
bytes from = 1;
|
|
bytes data = 2;
|
|
bytes seqno = 3;
|
|
bytes bitmask = 4;
|
|
bytes signature = 5;
|
|
bytes key = 6;
|
|
}
|
|
|
|
message ControlMessage {
|
|
repeated ControlIHave ihave = 1;
|
|
repeated ControlIWant iwant = 2;
|
|
repeated ControlGraft graft = 3;
|
|
repeated ControlPrune prune = 4;
|
|
repeated ControlIDontWant idontwant = 5;
|
|
}
|
|
|
|
message ControlIHave {
|
|
bytes bitmask = 1;
|
|
repeated bytes messageIDs = 2;
|
|
}
|
|
|
|
message ControlIWant {
|
|
repeated bytes messageIDs = 1;
|
|
}
|
|
|
|
message ControlGraft {
|
|
bytes bitmask = 1;
|
|
}
|
|
|
|
message ControlPrune {
|
|
bytes bitmask = 1;
|
|
repeated PeerInfo peers = 2;
|
|
uint64 backoff = 3;
|
|
}
|
|
|
|
message ControlIDontWant {
|
|
repeated bytes messageIDs = 1;
|
|
}
|
|
|
|
message PeerInfo {
|
|
optional bytes peerID = 1;
|
|
optional bytes signedPeerRecord = 2;
|
|
} |