Added protobuf definitions for bitswap
Source: https://github.com/ipfs/go-bitswap/blob/master/message/pb/message.proto
This commit is contained in:
parent
b3f5599925
commit
8f4a7d796f
|
@ -0,0 +1,46 @@
|
||||||
|
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;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014-2018 Juan Batiz-Benet
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
Loading…
Reference in New Issue