Skip to content
Branch: stable
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
nlp
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Current Travis Semaphore

TypeSystem

The type system used in Current framework.

RipCurrent

The language to define continuous data pipelines.

Stream

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

FnCAS

An efficient convex optimization engine.

CompactTSV

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

EventCollector

An extensible event collecting HTTP server.

Blocks

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

Bricks

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

Storage

Storage layer with super easy to use in-memory data views and Stream-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.

Contribution

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
You can’t perform that action at this time.