broker integration: add distributed data store api

But haven't done the full gamut of testing on it yet.
This commit is contained in:
Jon Siwek 2015-01-30 14:39:16 -06:00
parent d2ea87735a
commit 9875f5d3eb
12 changed files with 1012 additions and 156 deletions

View file

@ -15,9 +15,11 @@ export {
d: opaque of Comm::Data &optional;
};
type DataVector: vector of Comm::Data;
type EventArgs: record {
name: string &optional; # nil for invalid event/args.
args: vector of Comm::Data;
args: DataVector;
};
type Comm::TableItem : record {
@ -25,3 +27,37 @@ export {
val: Comm::Data;
};
}
module Store;
export {
type QueryStatus: enum {
SUCCESS,
FAILURE,
};
type ExpiryTime: record {
absolute: time &optional;
since_last_modification: interval &optional;
};
type QueryResult: record {
status: Store::QueryStatus;
result: Comm::Data;
};
type SQLiteOptions: record {
path: string &default = "store.sqlite";
};
type RocksDBOptions: record {
path: string &default = "store.rocksdb";
use_merge_operator: bool &default = F;
};
type BackendOptions: record {
sqlite: SQLiteOptions &default = SQLiteOptions();
rocksdb: RocksDBOptions &default = RocksDBOptions();
};
}