TANK
A very high performance distributed log service
File Explorer
Download Latest Version (.zip)- accept4.h
- appsession.h
- base64.h
- buffer.h
- cfgparse.h
- chunk.h
- compat.h
- compiler.h
- config.h
- debug.h
- defaults.h
- epoll.h
- errors.h
- hash.h
- memory.h
- mini-clist.h
- rbtree.h
- regex.h
- sessionhash.h
- splice.h
- standard.h
- syscall.h
- template.h
- ticks.h
- time.h
- tools.h
- uri_auth.h
- version.h
- accept4.h
- appsession.h
- base64.h
- buffer.h
- cfgparse.h
- chunk.h
- compat.h
- compiler.h
- config.h
- debug.h
- defaults.h
- epoll.h
- errors.h
- hash.h
- memory.h
- mini-clist.h
- rbtree.h
- regex.h
- sessionhash.h
- splice.h
- standard.h
- syscall.h
- template.h
- ticks.h
- time.h
- tools.h
- uri_auth.h
- version.h
- compiler.h
- eb32tree.c
- eb32tree.h
- eb64tree.c
- eb64tree.h
- ebimtree.c
- ebimtree.h
- ebistree.c
- ebistree.h
- ebmbtree.c
- ebmbtree.h
- ebpttree.c
- ebpttree.h
- ebsttree.c
- ebsttree.h
- ebtree.c
- ebtree.h
- LICENSE
- Makefile
- compiler.h
- eb32tree.c
- eb32tree.h
- eb64tree.c
- eb64tree.h
- ebimtree.c
- ebimtree.h
- ebistree.c
- ebistree.h
- ebmbtree.c
- ebmbtree.h
- ebpttree.c
- ebpttree.h
- ebsttree.c
- ebsttree.h
- ebtree.c
- ebtree.h
- LICENSE
- Makefile
- AppendCompilerFlags.cmake
- DetectCPUFeatures.cmake
- Findsnappy.cmake
- CMakeCCompilerId.c
- CMakeCXXCompilerId.cpp
- CMakeCCompiler.cmake
- CMakeCXXCompiler.cmake
- CMakeDetermineCompilerABI_C.bin
- CMakeDetermineCompilerABI_CXX.bin
- CMakeSystem.cmake
- CMakeCCompilerId.c
- CMakeCXXCompilerId.cpp
- CMakeCCompiler.cmake
- CMakeCXXCompiler.cmake
- CMakeDetermineCompilerABI_C.bin
- CMakeDetermineCompilerABI_CXX.bin
- CMakeSystem.cmake
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- DependInfo.cmake
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- C.includecache
- cmake_clean.cmake
- cmake_clean_target.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- build.make
- cmake_clean.cmake
- CXX.includecache
- depend.internal
- depend.make
- DependInfo.cmake
- flags.make
- link.txt
- progress.make
- cmake.check_cache
- CMakeDirectoryInformation.cmake
- CMakeOutput.log
- CMakeRuleHashes.txt
- feature_tests.bin
- feature_tests.c
- feature_tests.cxx
- Makefile.cmake
- Makefile2
- progress.marks
- TargetDirectories.txt
- ClueWeb09LogSizeFreqs.1
- README
- bitpacking.h
- bitpackingaligned.h
- bitpackinghelpers.h
- bitpackingunaligned.h
- blockpacking.h
- codecfactory.h
- codecs.h
- common.h
- compositecodec.h
- cpubenchmark.h
- csv.h
- deltautil.h
- entropy.h
- externalvector.h
- fastpfor.h
- horizontalbitpacking.h
- maropuparser.h
- memutil.h
- mersenne.h
- newpfor.h
- optpfor.h
- packingvectors.h
- pfor.h
- pfor2008.h
- rolledbitpacking.h
- simdbinarypacking.h
- simdbitpacking.h
- simdfastpfor.h
- simdnewpfor.h
- simdoptpfor.h
- simdpfor.h
- simdvariablebyte.h
- simple16.h
- simple8b.h
- simple8b_rle.h
- simple9.h
- simple9_rle.h
- snappydelta.h
- streamvariablebyte.h
- stringutil.h
- synthetic.h
- usimdbitpacking.h
- util.h
- variablebyte.h
- VarIntG8IU.h
- varintgb.h
- vsencoding.h
- ztimer.h
- getopt.c
- getopt.h
- benchbitpacking.vcxproj
- codecs.vcxproj
- csv2maropu.vcxproj
- entropy.vcxproj
- example.vcxproj
- FastPFor.sln
- FastPFor.vcxproj
- gapstats.vcxproj
- getopt.vcxproj
- inmemorybenchmark.vcxproj
- unit.vcxproj
- benchbitpacking.cpp
- bitpacking.cpp
- bitpackingaligned.cpp
- bitpackingunaligned.cpp
- codecs.cpp
- csv2maropu.cpp
- entropy.cpp
- gapstats.cpp
- horizontalbitpacking.cpp
- inmemorybenchmark.cpp
- partitionbylength.cpp
- simdbitpacking.cpp
- simdunalignedbitpacking.cpp
- streamvbyte.c
- unit.cpp
- varintdecode.c
- clang-format.sh
- benchbitpacking
- CHANGELOG
- cmake_install.cmake
- CMakeCache.txt
- CMakeLists.txt
- codecs
- codecssnappy
- csv2maropu
- entropy
- example
- example.cpp
- gapstats
- inmemorybenchmark
- inmemorybenchmarksnappy
- LICENSE
- Makefile
- partitionbylength
- README.md
- unit
- Bug_report.md
- Feature_request.md
- CONTRIBUTING.md
- PULL_REQUEST_TEMPLATE.md
- config.cmake.in
- mylayout.css
- mylayout_docset.css
- array.cpp
- array.link
- array.output
- at__object_t_key_type.cpp
- at__object_t_key_type.link
- at__object_t_key_type.output
- at__object_t_key_type_const.cpp
- at__object_t_key_type_const.link
- at__object_t_key_type_const.output
- at__size_type.cpp
- at__size_type.link
- at__size_type.output
- at__size_type_const.cpp
- at__size_type_const.link
- at__size_type_const.output
- at_json_pointer.cpp
- at_json_pointer.link
- at_json_pointer.output
- at_json_pointer_const.cpp
- at_json_pointer_const.link
- at_json_pointer_const.output
- back.cpp
- back.link
- back.output
- basic_json__basic_json.cpp
- basic_json__basic_json.link
- basic_json__basic_json.output
- basic_json__CompatibleType.cpp
- basic_json__CompatibleType.link
- basic_json__CompatibleType.output
- basic_json__copyassignment.cpp
- basic_json__copyassignment.link
- basic_json__copyassignment.output
- basic_json__InputIt_InputIt.cpp
- basic_json__InputIt_InputIt.link
- basic_json__InputIt_InputIt.output
- basic_json__list_init_t.cpp
- basic_json__list_init_t.link
- basic_json__list_init_t.output
- basic_json__moveconstructor.cpp
- basic_json__moveconstructor.link
- basic_json__moveconstructor.output
- basic_json__nullptr_t.cpp
- basic_json__nullptr_t.link
- basic_json__nullptr_t.output
- basic_json__size_type_basic_json.cpp
- basic_json__size_type_basic_json.link
- basic_json__size_type_basic_json.output
- basic_json__value.cpp
- basic_json__value.link
- basic_json__value.output
- basic_json__value_ptr.cpp
- basic_json__value_ptr.link
- basic_json__value_ptr.output
- basic_json__value_t.cpp
- basic_json__value_t.link
- basic_json__value_t.output
- begin.cpp
- begin.link
- begin.output
- cbegin.cpp
- cbegin.link
- cbegin.output
- cend.cpp
- cend.link
- cend.output
- clear.cpp
- clear.link
- clear.output
- count.cpp
- count.link
- count.output
- crbegin.cpp
- crbegin.link
- crbegin.output
- crend.cpp
- crend.link
- crend.output
- diff.cpp
- diff.link
- diff.output
- dump.cpp
- dump.link
- dump.output
- emplace.cpp
- emplace.link
- emplace.output
- emplace_back.cpp
- emplace_back.link
- emplace_back.output
- empty.cpp
- empty.link
- empty.output
- end.cpp
- end.link
- end.output
- erase__IteratorType.cpp
- erase__IteratorType.link
- erase__IteratorType.output
- erase__IteratorType_IteratorType.cpp
- erase__IteratorType_IteratorType.link
- erase__IteratorType_IteratorType.output
- erase__key_type.cpp
- erase__key_type.link
- erase__key_type.output
- erase__size_type.cpp
- erase__size_type.link
- erase__size_type.output
- exception.cpp
- exception.link
- exception.output
- find__key_type.cpp
- find__key_type.link
- find__key_type.output
- flatten.cpp
- flatten.link
- flatten.output
- from_cbor.cpp
- from_cbor.link
- from_cbor.output
- from_msgpack.cpp
- from_msgpack.link
- from_msgpack.output
- from_ubjson.cpp
- from_ubjson.link
- from_ubjson.output
- front.cpp
- front.link
- front.output
- get__PointerType.cpp
- get__PointerType.link
- get__PointerType.output
- get__ValueType_const.cpp
- get__ValueType_const.link
- get__ValueType_const.output
- get_ptr.cpp
- get_ptr.link
- get_ptr.output
- get_ref.cpp
- get_ref.link
- get_ref.output
- insert.cpp
- insert.link
- insert.output
- insert__count.cpp
- insert__count.link
- insert__count.output
- insert__ilist.cpp
- insert__ilist.link
- insert__ilist.output
- insert__range.cpp
- insert__range.link
- insert__range.output
- insert__range_object.cpp
- insert__range_object.link
- insert__range_object.output
- invalid_iterator.cpp
- invalid_iterator.link
- invalid_iterator.output
- is_array.cpp
- is_array.link
- is_array.output
- is_boolean.cpp
- is_boolean.link
- is_boolean.output
- is_discarded.cpp
- is_discarded.link
- is_discarded.output
- is_null.cpp
- is_null.link
- is_null.output
- is_number.cpp
- is_number.link
- is_number.output
- is_number_float.cpp
- is_number_float.link
- is_number_float.output
- is_number_integer.cpp
- is_number_integer.link
- is_number_integer.output
- is_number_unsigned.cpp
- is_number_unsigned.link
- is_number_unsigned.output
- is_object.cpp
- is_object.link
- is_object.output
- is_primitive.cpp
- is_primitive.link
- is_primitive.output
- is_string.cpp
- is_string.link
- is_string.output
- is_structured.cpp
- is_structured.link
- is_structured.output
- items.cpp
- items.link
- items.output
- iterator_wrapper.cpp
- iterator_wrapper.link
- iterator_wrapper.output
- json_pointer.cpp
- json_pointer.link
- json_pointer.output
- json_pointer__to_string.cpp
- json_pointer__to_string.link
- json_pointer__to_string.output
- max_size.cpp
- max_size.link
- max_size.output
- merge_patch.cpp
- merge_patch.link
- merge_patch.output
- meta.cpp
- meta.link
- meta.output
- object.cpp
- object.link
- object.output
- operator__equal.cpp
- operator__equal.link
- operator__equal.output
- operator__equal__nullptr_t.cpp
- operator__equal__nullptr_t.link
- operator__equal__nullptr_t.output
- operator__greater.cpp
- operator__greater.link
- operator__greater.output
- operator__greaterequal.cpp
- operator__greaterequal.link
- operator__greaterequal.output
- operator__less.cpp
- operator__less.link
- operator__less.output
- operator__lessequal.cpp
- operator__lessequal.link
- operator__lessequal.output
- operator__notequal.cpp
- operator__notequal.link
- operator__notequal.output
- operator__notequal__nullptr_t.cpp
- operator__notequal__nullptr_t.link
- operator__notequal__nullptr_t.output
- operator__value_t.cpp
- operator__value_t.link
- operator__value_t.output
- operator__ValueType.cpp
- operator__ValueType.link
- operator__ValueType.output
- operator_deserialize.cpp
- operator_deserialize.link
- operator_deserialize.output
- operator_serialize.cpp
- operator_serialize.link
- operator_serialize.output
- operatorarray__key_type.cpp
- operatorarray__key_type.link
- operatorarray__key_type.output
- operatorarray__key_type_const.cpp
- operatorarray__key_type_const.link
- operatorarray__key_type_const.output
- operatorarray__size_type.cpp
- operatorarray__size_type.link
- operatorarray__size_type.output
- operatorarray__size_type_const.cpp
- operatorarray__size_type_const.link
- operatorarray__size_type_const.output
- operatorjson_pointer.cpp
- operatorjson_pointer.link
- operatorjson_pointer.output
- operatorjson_pointer_const.cpp
- operatorjson_pointer_const.link
- operatorjson_pointer_const.output
- other_error.cpp
- other_error.link
- other_error.output
- out_of_range.cpp
- out_of_range.link
- out_of_range.output
- parse__array__parser_callback_t.cpp
- parse__array__parser_callback_t.link
- parse__array__parser_callback_t.output
- parse__contiguouscontainer__parser_callback_t.cpp
- parse__contiguouscontainer__parser_callback_t.link
- parse__contiguouscontainer__parser_callback_t.output
- parse__istream__parser_callback_t.cpp
- parse__istream__parser_callback_t.link
- parse__istream__parser_callback_t.output
- parse__iteratortype__parser_callback_t.cpp
- parse__iteratortype__parser_callback_t.link
- parse__iteratortype__parser_callback_t.output
- parse__string__parser_callback_t.cpp
- parse__string__parser_callback_t.link
- parse__string__parser_callback_t.output
- parse_error.cpp
- parse_error.link
- parse_error.output
- patch.cpp
- patch.link
- patch.output
- push_back.cpp
- push_back.link
- push_back.output
- push_back__initializer_list.cpp
- push_back__initializer_list.link
- push_back__initializer_list.output
- push_back__object_t__value.cpp
- push_back__object_t__value.link
- push_back__object_t__value.output
- rbegin.cpp
- rbegin.link
- rbegin.output
- README.cpp
- README.link
- README.output
- rend.cpp
- rend.link
- rend.output
- sax_parse.cpp
- sax_parse.link
- sax_parse.output
- size.cpp
- size.link
- size.output
- swap__array_t.cpp
- swap__array_t.link
- swap__array_t.output
- swap__object_t.cpp
- swap__object_t.link
- swap__object_t.output
- swap__reference.cpp
- swap__reference.link
- swap__reference.output
- swap__string_t.cpp
- swap__string_t.link
- swap__string_t.output
- to_cbor.cpp
- to_cbor.link
- to_cbor.output
- to_msgpack.cpp
- to_msgpack.link
- to_msgpack.output
- to_ubjson.cpp
- to_ubjson.link
- to_ubjson.output
- type.cpp
- type.link
- type.output
- type_error.cpp
- type_error.link
- type_error.output
- type_name.cpp
- type_name.link
- type_name.output
- unflatten.cpp
- unflatten.link
- unflatten.output
- update.cpp
- update.link
- update.output
- update__range.cpp
- update__range.link
- update__range.output
- binary.png
- callback_events.png
- range-begin-end.svg
- range-rbegin-rend.svg
- git-update-ghpages
- send_to_wandbox.py
- ios.png
- macos.png
- avatars.png
- binary_formats.md
- Doxyfile
- faq.md
- index.md
- json.gif
- Makefile
- from_json.hpp
- to_chars.hpp
- to_json.hpp
- binary_reader.hpp
- input_adapters.hpp
- json_sax.hpp
- lexer.hpp
- parser.hpp
- internal_iterator.hpp
- iter_impl.hpp
- iteration_proxy.hpp
- json_reverse_iterator.hpp
- primitive_iterator.hpp
- cpp_future.hpp
- detected.hpp
- is_sax.hpp
- type_traits.hpp
- void_t.hpp
- binary_writer.hpp
- output_adapters.hpp
- serializer.hpp
- exceptions.hpp
- json_pointer.hpp
- json_ref.hpp
- macro_scope.hpp
- macro_unscope.hpp
- value_t.hpp
- adl_serializer.hpp
- json.hpp
- json_fwd.hpp
- json.hpp
- amalgamate.py
- CHANGES.md
- config.json
- LICENSE.md
- README.md
- ChangeLog.md
- CMakeLists.txt
- CODE_OF_CONDUCT.md
- LICENSE.MIT
- Makefile
- meson.build
- nlohmann_json.natvis
- README.md
- robin_hood.h
- expected.hpp
- function_ref.hpp
- make_array.hpp
- optional.hpp
- ext_xxhash.c
- flat_hash_map.h
- json.hpp
- config.h
- Makefile
- snappy-internal.h
- snappy-sinksource.cc
- snappy-sinksource.h
- snappy-stubs-internal.cc
- snappy-stubs-internal.h
- snappy-stubs-public.h
- snappy-test.h
- snappy.cc
- snappy.h
- expected.hpp
- function_ref.hpp
- make_array.hpp
- optional.hpp
- ansifmt.h
- base64.cpp
- base64.h
- buffer.h
- compress.h
- crypto.cpp
- crypto.h
- data.cpp
- data.h
- date.h
- fs.h
- Makefile
- network.h
- portability.h
- prioqueue.h
- README.md
- sparsefixedbitset.h
- switch.h
- switch_algorithms.h
- switch_atomicops.h
- switch_bitops.h
- switch_common.h
- switch_compiler_aux.h
- switch_dictionary.h
- switch_exceptions.h
- switch_hash.h
- switch_ll.h
- switch_mallocators.h
- switch_numops.h
- switch_print.h
- switch_ranges.h
- switch_refcnt.h
- switch_security.cpp
- switch_security.h
- switch_vector.h
- text.cpp
- text.h
- text_table.h
- thread.h
- timings.h
- cli.cpp
- client.cpp
- client_api.cpp
- client_api_consume.cpp
- client_api_create_topic.cpp
- client_api_discover_partitions.cpp
- client_api_discover_topics.cpp
- client_api_discover_topology.cpp
- client_api_fast_consume.cpp
- client_api_produce.cpp
- client_api_reload_config.cpp
- client_api_srv_status.cpp
- client_brokers_util.cpp
- client_brokers_util_materialize.cpp
- client_common.h
- client_pragmas.h
- client_reactor.cpp
- client_resources.cpp
- client_utils.cpp
- common.h
- Dockerfile
- LICENSE
- Makefile
- README.md
- service.cpp
- service.h
- service_api.cpp
- service_api_consume.cpp
- service_api_produce.cpp
- service_bootstrap.cpp
- service_cluster.cpp
- service_cluster_apply_state_updates.cpp
- service_cluster_gen_partition_nodes_updates.cpp
- service_cluster_reconcile.cpp
- service_cluster_util.cpp
- service_cluster_verify.cpp
- service_common.h
- service_compact.cpp
- service_consul.cpp
- service_consul_io.cpp
- service_hw.cpp
- service_indices.cpp
- service_isr.cpp
- service_json.cpp
- service_log.cpp
- service_main.cpp
- service_pragmas.h
- service_reactor.cpp
- service_read.cpp
- service_rebuild_segment.cpp
- service_replication.cpp
- service_ro_segments.cpp
- service_utils.cpp
- service_verify.cpp
- service_wait.cpp
- service_wip.cpp
- service_write.cpp
- tank_client.h
- tank_encoding.md
- tank_protocol.md
# Installation Guide
git clone https://github.com/phaistos-networks/TANK
Downloads the entire project code from GitHub to your computer.
cd TANK
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t tank .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 tank
Runs the built image as an actual container.
3. CMake
Mediumcd Switch/ext/FastPFor
This project's files live in a subfolder, so move into it first.
mkdir build && cd build
Creates a folder to hold the build output and moves into it.
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
make
Compiles the code based on the generated build configuration to produce an executable.
4. .NET
Mediumcd Switch/ext/FastPFor/msvc
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
5. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
