mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-11-10 18:25:17 +00:00
59 lines
1.2 KiB
Protocol Buffer
59 lines
1.2 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;
|
|
}
|
|
|
|
message ControlIHave {
|
|
bytes bitmask = 1;
|
|
// implementors from other languages should use bytes here - go protobuf emits invalid utf8 strings
|
|
repeated string messageIDs = 2;
|
|
}
|
|
|
|
message ControlIWant {
|
|
// implementors from other languages should use bytes here - go protobuf emits invalid utf8 strings
|
|
repeated string messageIDs = 1;
|
|
}
|
|
|
|
message ControlGraft {
|
|
bytes bitmask = 1;
|
|
}
|
|
|
|
message ControlPrune {
|
|
bytes bitmask = 1;
|
|
repeated PeerInfo peers = 2;
|
|
uint64 backoff = 3;
|
|
}
|
|
|
|
message PeerInfo {
|
|
optional bytes peerID = 1;
|
|
optional bytes signedPeerRecord = 2;
|
|
} |