mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-05 23:13:09 +00:00
47 lines
1.4 KiB
Protocol Buffer
47 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package bitswap.message.pb;
|
|
|
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|
|
|
message Message {
|
|
|
|
message Wantlist {
|
|
enum WantType {
|
|
Block = 0;
|
|
Have = 1;
|
|
}
|
|
|
|
message Entry {
|
|
bytes block = 1 [(gogoproto.customtype) = "Cid", (gogoproto.nullable) = false]; // 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
|
|
}
|
|
|
|
repeated Entry entries = 1 [(gogoproto.nullable) = false]; // a list of wantlist entries
|
|
bool full = 2; // whether this is the full wantlist. default to false
|
|
}
|
|
|
|
message Block {
|
|
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 [(gogoproto.customtype) = "Cid", (gogoproto.nullable) = false];
|
|
BlockPresenceType type = 2;
|
|
}
|
|
|
|
Wantlist wantlist = 1 [(gogoproto.nullable) = false];
|
|
repeated bytes blocks = 2; // used to send Blocks in bitswap 1.0.0
|
|
repeated Block payload = 3 [(gogoproto.nullable) = false]; // used to send Blocks in bitswap 1.1.0
|
|
repeated BlockPresence blockPresences = 4 [(gogoproto.nullable) = false];
|
|
int32 pendingBytes = 5;
|
|
}
|