Use latest proto from go-ipfs master
We don't yet support all the other stuff, but there is no harm in having up to date protos...
@@ -3,29 +3,42 @@ syntax = "proto3";
package bitswap_pb;
message Message {
+
message Wantlist {
+ enum WantType {
+ Block = 0;
+ Have = 1;
+ }
+
message Entry {
- // the block cid (cidV0 in bitswap 1.0.0, cidV1 in bitswap 1.1.0)
- bytes block = 1;
- // the priority (normalized). default to 1
- int32 priority = 2;
- // whether this revokes an entry
- bool cancel = 3;
+ bytes block = 1; // the block cid (cidV0 in bitswap 1.0.0, cidV1 in bitswap 1.1.0)
+ int32 priority = 2; // the priority (normalized). default to 1
+ bool cancel = 3; // whether this revokes an entry
+ WantType wantType = 4; // Note: defaults to enum 0, ie Block
+ bool sendDontHave = 5; // Note: defaults to false
}
- // a list of wantlist entries
- repeated Entry entries = 1;
- // whether this is the full wantlist. default to false
- bool full = 2;
+ repeated Entry entries = 1; // a list of wantlist entries
+ bool full = 2; // whether this is the full wantlist. default to false
}
message Block {
- // CID prefix (cid version, multicodec and multihash prefix (type + length)
- bytes prefix = 1;
+ bytes prefix = 1; // CID prefix (cid version, multicodec and multihash prefix (type + length)
bytes data = 2;
}
+ enum BlockPresenceType {
+ Have = 0;
+ DontHave = 1;
+ }
+ message BlockPresence {
+ bytes cid = 1;
+ BlockPresenceType type = 2;
+ }
+
Wantlist wantlist = 1;
repeated bytes blocks = 2; // used to send Blocks in bitswap 1.0.0
repeated Block payload = 3; // used to send Blocks in bitswap 1.1.0
+ repeated BlockPresence blockPresences = 4;
+ int32 pendingBytes = 5;
}
