Merge pull request #3 from google/chunxiangzheng-patch-1

Make proto-data-store.h depends on absl/strings/str_cat.h directly
tree: d652a4ca3f8272caa9bd66881cb93023ad3007cc
  1. protostore/
  2. .gitignore
  3. CONTRIBUTING.md
  4. LICENSE
  5. README.md
  6. WORKSPACE
README.md

ProtoDataStore C++

A simple file-backed proto with an in-memory cache.

Features

  1. Caches proto in RAM after first read for performance.
  2. Uses a checksum to verify integrity of data.
  3. Leverages modern Abseil error handling and memory management.

Usage

#include "protostore/file-storage.h"
#include "protostore/proto-data-store.h"

FileStorage storage;
ProtoDataStore<TestProto> pds(storage, testfile);

MyProto myproto;
myproto.set_value("hi");
absl::Status result = pds.Write(myproto);
if (!result.ok()) // error handling

Compared to Jetpack DataStore

This library is a C++ implementation from the same origin as Jetpack DataStore. Unlike that library, it does not support concurrent writes and the on-disk format is incompatible.