// Copyright 2022 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace serial;

table Blob {
  // leaf node payload
  payload:[ubyte];

  // array of subtree addresses for internal tree nodes
  address_array:[ubyte];

  // array of varint encoded subtree counts
  // see: go/store/prolly/message/varint.go
  subtree_sizes:[ubyte];
  tree_size:uint64;
  tree_level:uint8;
}

// KEEP THIS IN SYNC WITH fileidentifiers.go
file_identifier "BLOB";

root_type Blob;