commit | 55022a566df3d98a543148ce7a0e2eb6773909ae | [log] [tgz] |
---|---|---|
author | Nick Vatamaniuc <vatamane@gmail.com> | Tue Apr 06 12:26:50 2021 -0400 |
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | Tue Apr 06 13:01:45 2021 -0400 |
tree | d7498384ce2bb45328f1d14d4131d481794d5459 | |
parent | c784cc4b21c554e276cb309b53f36fe8a2c5b8ac [diff] |
Make the default wait timeout infinity (continued) This the continuation of https://github.com/apache/couchdb-erlfdb/pull/22. There, we updated only one `after` clause and forgot the other. The reasoning is the same as before -- make erlfdb behave consistent with other FDB clients which do not have top level client-side timeouts for futures.
This project is a NIF wrapper for the FoundationDB C API. Documentation on the main API can be found here.
This project also provides a conforming implementation of the Tuple and Directory layers.
Assuming you have installed the FoundationDB C API library, building erlfdb is as simple as:
$ make
Alternatively, adding erlfdb as a rebar dependency should Just Work ®.
Documentation for installing FoundationDB can be found here for macOS or here for Linux.
A simple example showing how to open a database and read and write keys:
Eshell V9.3.3.6 (abort with ^G) 1> Db = erlfdb:open(<<"/usr/local/etc/foundationdb/fdb.cluster">>). {erlfdb_database,#Ref<0.2859661758.3941466120.85406>} 2> ok = erlfdb:set(Db, <<"foo">>, <<"bar">>). ok 3> erlfdb:get(Db, <<"foo">>). <<"bar">> 4> erlfdb:get(Db, <<"bar">>). not_found
FoundationDB has a custom binding tester that can be used to test whether changes have broken compatibility. See the BINDING_TESTER documentation for instructions on building and running that system.