hyperbee 0.5.0

Peer to Peer B-tree
Documentation
message YoloIndex {
  message Level {
    repeated uint64 keys = 1 [packed=true];
    repeated uint64 children = 2 [packed=true];
  }

  repeated Level levels = 1;
}

message Header {
  message Metadata {
    optional bytes contentFeed = 1;
    optional bytes userData = 2;
  }

  required string protocol = 1;
  optional Metadata metadata = 2;
}

message Node {
  required bytes index = 1;
  required bytes key = 2;
  optional bytes value = 3;
}

message Extension {
  message Get {
    optional uint64 version = 1;
    optional bytes key = 2;
  }

  message Iterator {
    optional uint64 version = 1;
    optional bytes gte = 2;
    optional bytes gt = 3;
    optional bytes lte = 4;
    optional bytes lt = 5;
    optional uint64 limit = 6; // 0 means no limit here
    optional bool reverse = 7;
    repeated uint64 checkpoint = 8 [packed=true];
  }

  message Cache {
    required uint64 start = 1;
    required uint64 end = 2;
    repeated uint64 blocks = 3 [packed=true];
  }

  optional Cache cache = 1;
  optional Get get = 2;
  optional Iterator iterator = 3;
}