C++ Shell Objective-C++ JavaScript TypeScript Objective-C Other
Switch branches/tags
Nothing to show
Latest commit 6a572d8 Jul 26, 2017 @dkorolev dkorolev committed on GitHub Merge pull request #773 from sompylasar/typescript_publish_to_npm
c5t-current-schema-ts publish to npm
Failed to load latest commit information.
3rdparty No more C-style casts in `sha256.h`. May 25, 2017
Blocks CR: compared the results of unsafe iterations with hardcoded values i… Jul 4, 2017
Bricks Replication benchmark tweaks. Jun 26, 2017
CompactTSV Trying l120 cols instead of 112 cols. Sep 7, 2016
EventCollector Blocks/HTTP/impl/posix_client: Fixed following redirect from a URL wi… Jun 15, 2017
Integrations CR: A clean look at the code, minor tweaks. Mar 10, 2017
Karl A few more LCOV_EXCL-s. Mar 10, 2017
Midichlorians Blocks/HTTP/impl/posix_client: Fixed following redirect from a URL wi… Jun 15, 2017
RipCurrent Exceptions: `What()` -> `DetailedDescription()`. Feb 19, 2017
Sherlock Added `GetNumberOfEntries` for remote stream. Jul 20, 2017
Storage Parsed CQS request body using JSONFormat::Minimalistic. May 18, 2017
TypeSystem TypeSystem/Schema/c5t-current-schema-ts: Prepare for npm publish. Jul 25, 2017
Utils CR tweaks. May 30, 2017
contributors agserm signed CLA Jul 25, 2017
examples Replication benchmark tweaks. Jun 27, 2017
regression_tests/type_system CR: Exclude autogenerated headers from `make check`. Mar 25, 2017
scripts scripts/individual-tests.sh: Exclude filter for the batch test run. Jul 13, 2017
.clang-format Trying l120 cols instead of 112 cols. Sep 7, 2016
.gitignore The EJS demo. Dec 13, 2016
.travis.yml Travis msg. Jul 14, 2017
Current.vcxproj Update for Windows builds Feb 3, 2017
Current.vcxproj.filters Update for Windows builds Feb 3, 2017
Makefile Added Travis CI job to run the TypeScript tests. Jul 11, 2017
README.md README: Restructured, simplified, added more details. Jun 4, 2017
Symbols.md Markdown schema output in REST. Apr 18, 2016
port.h Prevent warning about undefined behavior on Clang Jul 25, 2017


Current CI


The type system used in Current framework.


The language to define continuous data pipelines.


Structured, append-only, immutable data persistence layer with publish-subscribe.


An efficient convex optimization engine.


Low-level compact persistence layer with 1+ GB/s throughput.


An extensible event collecting HTTP server.


HTTP server and client, efficient in-memory message queue, persistence layer, streaming API interface.


JSON and binary serialization, string manipulation library, command line flags library, and other core pieces.


Storage layer with super easy to use in-memory data views and Sherlock-based persistence.

Type Evolution

Compact and autogenerated C++ framework to evolve objects from one type hierarchy into another type hierarchy while remaining fully within the strong typing paradigm.


Welcome, contributors! Please start here by signing the CLA.

Quick Start

Install the development dependencies

  • nasm for FnCAS.
    • macOS: brew install nasm
  • geninfo from lcov for coverage report.
    • macOS: brew install lcov
  • clang-format-3.6 for code formatting (make indent).
    • macOS: Only clang-format-3.8 is available via Homebrew: brew install clang-format@3.8 && ln -s /usr/local/bin/clang-format-3.6 /usr/local/opt/clang-format@3.8/bin/clang-format (pretend we've got 3.6)

Clean the output of the previous builds

make clean

Run the tests

Builds and runs all the tests as a single binary. Slow, eats up tons of CPU, but measures coverage. Consider make individual_tests or make test within individual directories to run the subset of tests.

make test

Builds and runs the tests for each module separately:

make individual_tests

Builds and runs the tests for one of the modules (e.g. Blocks/HTTP):

( cd Blocks/HTTP && make test )

Verify the code

"Builds" all header files individually, twice each header file, and "links" these pairs together. Ensures no symbols are exported, and the ODR will not be violated when linking together two objects, each of which is independently using Current.

make check