Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Proto doesn't let us reorder this down, sadly
Used in:
A columnar encoding of Vec<StateFieldDiff<K, V>> with heterogeneous K and V. - The number of diffs (len) == fields.len() == diff_types.len() - Each diff is encoded into 1 data slice for the key and 1 (Insert, Delete) or 2 (Update) data slices for the val - These data slices are concatenated together in data_bytes and the corresponding lengths of each slice in data_lens. (So number of data slices == data_lens.len().) - We store the length of each data_slice, not e.g. an offset into data_bytes. This makes random access slower, but we only ever iterate (random access by diff idx would be tricky anyway because each diff gets a variable number of data slices based on it's type.) Storing the lengths, OTOH, compresses much better with protobuf varints.
Used in: