├── .cproject ├── .github └── workflows │ ├── ci-almalinux.yml │ ├── ci-alpine.yml │ ├── ci-archlinux.yml │ ├── ci-bazel.yml │ ├── ci-buck2.yml │ ├── ci-cross-android.yml │ ├── ci-cross-mingw-w64.yml │ ├── ci-cross-musl.yml │ ├── ci-dockcross-uclibc-wrt.yml │ ├── ci-docker-base-debug-push.yml │ ├── ci-docker-base-deps.yml │ ├── ci-docker-base-push.disabled │ ├── ci-docker-base-push.yml │ ├── ci-docker-ffead-cpp-seastar-build.disabled │ ├── ci-docker-profiled-async-base-push.disabled │ ├── ci-docker-profiled-base-push.disabled │ ├── ci-docker-test.yml │ ├── ci-docker-tfb-all-test.yml │ ├── ci-docker-tfb-benchmark.yml │ ├── ci-docker-tfb-test.yml │ ├── ci-emscripten-nodejs.yml │ ├── ci-gentoo.yml │ ├── ci-macos.yml │ ├── ci-meson.yml │ ├── ci-nodejs.yml │ ├── ci-opensuse.yml │ ├── ci-scons.yml │ ├── ci-shellb.yml │ ├── ci-ubuntu.yml │ ├── ci-win-cygwin.yml │ ├── ci-win-mingw.yml │ ├── ci-xmake.yml │ └── codeql-analysis.yml ├── .gitignore ├── .project ├── .siegerc ├── .travis.yml ├── .vscode ├── c_cpp_properties.json ├── launch.json └── tasks.json ├── CMakeLists.txt ├── INSTALL ├── Makefile.am ├── README.md ├── aclocal.m4 ├── autogen-noreconf.sh ├── autogen.sh ├── clean.sh ├── clean_maclibs.sh ├── configure.ac ├── docker ├── DockerFile-cross-android ├── DockerFile-cross-archlinux-mingw64 ├── DockerFile-cross-musl ├── DockerFile-dockcross-build ├── DockerFile-musl-cross-make ├── DockerFile-tfb-test ├── all │ ├── base │ │ ├── ffead-cpp-all-base-debug.dockerfile │ │ ├── ffead-cpp-all-base.dockerfile │ │ ├── ffead-cpp-deps.dockerfile │ │ ├── ffead-cpp-java-base.dockerfile │ │ ├── ffead-cpp-rust-base-debug.dockerfile │ │ ├── ffead-cpp-rust-base.dockerfile │ │ ├── ffead-cpp-rust-rocket-base.dockerfile │ │ ├── ffead-cpp-seastar-base.dockerfile │ │ ├── ffead-cpp-sql-raw-async-pool-profiled-base.dockerfile │ │ ├── ffead-cpp-sql-raw-async-profiled-base.dockerfile │ │ ├── ffead-cpp-sql-raw-profiled-base.dockerfile │ │ ├── ffead-cpp-v-base.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-pool-profiled-base.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-profiled-base.dockerfile │ │ └── ffead-cpp-v-picov-raw-profiled-base.dockerfile │ ├── benchmark_config.json │ ├── benchmark_config_orig.json │ ├── config.toml │ ├── ffead-cpp-mongo-raw.dockerfile │ ├── ffead-cpp-mysql.dockerfile │ ├── ffead-cpp-postgresql-raw-async-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool-profiled-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool-profiled-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool-profiled.dockerfile │ ├── ffead-cpp-postgresql-raw-async-pool.dockerfile │ ├── ffead-cpp-postgresql-raw-async-profiled-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-profiled-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-profiled.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool-profiled-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool-profiled-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool-profiled.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-pool.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-profiled-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-profiled-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw-profiled.dockerfile │ ├── ffead-cpp-postgresql-raw-async-qw.dockerfile │ ├── ffead-cpp-postgresql-raw-async.dockerfile │ ├── ffead-cpp-postgresql-raw-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-profiled-iou.dockerfile │ ├── ffead-cpp-postgresql-raw-profiled-pev.dockerfile │ ├── ffead-cpp-postgresql-raw-profiled.dockerfile │ ├── ffead-cpp-postgresql-raw.dockerfile │ ├── ffead-cpp-postgresql.dockerfile │ ├── ffead-cpp.dockerfile │ ├── lang │ │ ├── ffead-cpp-apache.dockerfile │ │ ├── ffead-cpp-cinatra.dockerfile │ │ ├── ffead-cpp-crystal-h2o.dockerfile │ │ ├── ffead-cpp-crystal-http.dockerfile │ │ ├── ffead-cpp-d-hunt.dockerfile │ │ ├── ffead-cpp-drogon.dockerfile │ │ ├── ffead-cpp-go-fasthttp.dockerfile │ │ ├── ffead-cpp-go-gnet.dockerfile │ │ ├── ffead-cpp-h2o.dockerfile │ │ ├── ffead-cpp-java-firenio.dockerfile │ │ ├── ffead-cpp-java-rapidoid.dockerfile │ │ ├── ffead-cpp-java-wizzardo-http.dockerfile │ │ ├── ffead-cpp-julia-http.dockerfile │ │ ├── ffead-cpp-libreactor.dockerfile │ │ ├── ffead-cpp-lithium.dockerfile │ │ ├── ffead-cpp-nginx.dockerfile │ │ ├── ffead-cpp-rust-actix.dockerfile │ │ ├── ffead-cpp-rust-hyper.dockerfile │ │ ├── ffead-cpp-rust-rocket.dockerfile │ │ ├── ffead-cpp-rust-thruster.dockerfile │ │ ├── ffead-cpp-seastar.dockerfile │ │ ├── ffead-cpp-swift-nio.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-pool-profiled.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-pool.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-profiled.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async.dockerfile │ │ ├── ffead-cpp-v-picov-raw-profiled.dockerfile │ │ ├── ffead-cpp-v-picov.dockerfile │ │ └── ffead-cpp-v-vweb.dockerfile │ ├── libpq-batch │ │ ├── ffead-cpp-p10-b.dockerfile │ │ ├── ffead-cpp-p2-b.dockerfile │ │ ├── ffead-cpp-p3-b.dockerfile │ │ ├── ffead-cpp-p4-b.dockerfile │ │ ├── ffead-cpp-postgresql-raw-async-clibpqb-pool-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-raw-async-clibpqb-profiled-2.dockerfile │ │ ├── ffead-cpp-postgresql-raw-async-clibpqb-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-raw-async-clibpqb-twoconn-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-raw-async-qw-clibpqb-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-raw-clibpqb-profiled.dockerfile │ │ ├── ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base.dockerfile │ │ ├── ffead-cpp-sql-raw-async-clibpqb-profiled-base-2.dockerfile │ │ ├── ffead-cpp-sql-raw-async-clibpqb-profiled-base.dockerfile │ │ ├── ffead-cpp-sql-raw-clibpqb-profiled-base.dockerfile │ │ ├── ffead-cpp-v-picov-raw-clibpqb-profiled-base.dockerfile │ │ └── ffead-cpp-v-picov-raw-clibpqb-profiled.dockerfile │ ├── postgresql │ │ ├── 60-postgresql-shm.conf │ │ ├── create-postgres-database.sql │ │ ├── create-postgres.sql │ │ ├── pg_hba.conf │ │ ├── pgdg.list │ │ └── postgresql.conf │ ├── run_ffead.sh │ ├── scripts │ │ ├── install-mimalloc-snmalloc.sh │ │ ├── install_ffead-cpp-backends.sh │ │ ├── install_ffead-cpp-dependencies.sh │ │ ├── install_ffead-cpp-framework-debug.sh │ │ ├── install_ffead-cpp-framework.sh │ │ ├── install_ffead-cpp-httpd.sh │ │ ├── install_ffead-cpp-nginx.sh │ │ ├── install_ffead-cpp-sql-raw-profiled.sh │ │ ├── install_ffead-cpp-sql-raw-v-picov-profiled.sh │ │ ├── julia_curl_fix.sh │ │ ├── sql-async-profiled-install-clang-dbg.sh │ │ ├── sql-async-profiled-install-clang.sh │ │ ├── sql-async-profiled-install.sh │ │ ├── sql-profiled-install-clang.sh │ │ ├── sql-profiled-install.sh │ │ ├── sql-profiled-util.sh │ │ └── sql-v-picov-profiled-install.sh │ └── server.sh ├── build-all-te-debug-images.sh ├── build-all-te-images.sh ├── build-android-common.sh ├── build-android-curl.sh ├── build-android-nghttp2.sh ├── build-android-openssl.sh ├── build-common.sh ├── build-te-images.sh ├── build.sh.deprecated ├── compose-techempower-tests │ ├── build_all.sh │ ├── ffead-cpp-apache-mongo-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-apache-mysql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-apache-postgresql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-mongo-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-mysql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-nginx-mongo-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-nginx-mysql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-nginx-postgresql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp-postgresql-compose │ │ └── docker-compose.yml │ ├── ffead-cpp │ │ ├── ffead-cpp-apache-memcached.dockerfile │ │ ├── ffead-cpp-apache-mongo.dockerfile │ │ ├── ffead-cpp-apache-mysql.dockerfile │ │ ├── ffead-cpp-apache-postgresql.dockerfile │ │ ├── ffead-cpp-apache-redis.dockerfile │ │ ├── ffead-cpp-memcached.dockerfile │ │ ├── ffead-cpp-mysql.dockerfile │ │ ├── ffead-cpp-nginx-memcached.dockerfile │ │ ├── ffead-cpp-nginx-mongo.dockerfile │ │ ├── ffead-cpp-nginx-mysql.dockerfile │ │ ├── ffead-cpp-nginx-postgresql.dockerfile │ │ ├── ffead-cpp-nginx-redis.dockerfile │ │ ├── ffead-cpp-postgresql.dockerfile │ │ ├── ffead-cpp-redis.dockerfile │ │ ├── ffead-cpp.dockerfile │ │ ├── install_ffead-cpp-dependencies.sh │ │ ├── install_ffead-cpp-framework-forsql.sh │ │ ├── install_ffead-cpp-framework.sh │ │ ├── install_ffead-cpp-httpd.sh │ │ ├── install_ffead-cpp-nginx.sh │ │ ├── install_ffead-cpp-openlitespeed.sh │ │ ├── run_ffead.sh │ │ └── server.sh │ ├── mongodb │ │ ├── create.js │ │ └── mongodb.dockerfile │ ├── mysql │ │ ├── create.sql │ │ ├── create8.sql │ │ ├── my.cnf │ │ ├── mysql.dockerfile │ │ └── mysql.list │ └── postgres │ │ ├── 60-postgresql-shm.conf │ │ ├── create-postgres-database.sql │ │ ├── create-postgres.sql │ │ ├── pg_hba.conf │ │ ├── pgdg.list │ │ ├── postgres.dockerfile │ │ └── postgresql.conf ├── cross-build-deps.sh ├── cross-build.sh ├── dockcross-build-deps.sh ├── dockcross-build.sh ├── ffead-cpp-build-validate.sh ├── files │ ├── bson-compat.h │ ├── bson-compat_after.h │ ├── bson-iter.h │ ├── bson-prelude.h │ ├── config.mak │ ├── config.sub │ ├── libmemcached-build.patch │ ├── mingw64-dlfcn.zip │ ├── mingw64-unixodbc.zip │ ├── musl-fixes.patch │ └── net.c ├── install_cygwin.sh ├── install_mingw.sh ├── os-based │ ├── DockerFile-Almalinux-x64-ffead-cpp │ ├── DockerFile-Almalinux-x64-ffead-cpp_autoconf │ ├── DockerFile-Alpine-x64-ffead-cpp │ ├── DockerFile-Alpine-x64-ffead-cpp_autoconf │ ├── DockerFile-ArchLinux-x64-ffead-cpp │ ├── DockerFile-ArchLinux-x64-ffead-cpp_autoconf │ ├── DockerFile-Gentoo-x64-base │ ├── DockerFile-Gentoo-x64-ffead-cpp │ ├── DockerFile-Gentoo-x64-ffead-cpp_autoconf │ ├── DockerFile-OpenSuse-x64-ffead-cpp │ ├── DockerFile-OpenSuse-x64-ffead-cpp_autoconf │ ├── DockerFile-Ubuntu-x64-ffead-cpp │ ├── DockerFile-Ubuntu-x64-ffead-cpp-bazel │ ├── DockerFile-Ubuntu-x64-ffead-cpp-buck2 │ ├── DockerFile-Ubuntu-x64-ffead-cpp-meson │ ├── DockerFile-Ubuntu-x64-ffead-cpp-scons │ ├── DockerFile-Ubuntu-x64-ffead-cpp-shellb │ ├── DockerFile-Ubuntu-x64-ffead-cpp-xmake │ ├── DockerFile-Ubuntu-x64-ffead-cpp_autoconf │ ├── DockerFile-Ubuntu-x64-ffead-cpp_with_iouring │ ├── build_all.sh │ ├── install_ffead-cpp.sh │ └── yay-aur.sh ├── te │ ├── base │ │ ├── ffead-cpp-base-debug.dockerfile │ │ ├── ffead-cpp-base.dockerfile │ │ ├── ffead-cpp-v-base-debug.dockerfile │ │ ├── ffead-cpp-v-base.dockerfile │ │ └── profiled │ │ │ ├── ffead-cpp-sql-raw-async-profiled-base.dockerfile │ │ │ ├── ffead-cpp-sql-raw-profiled-base.dockerfile │ │ │ ├── ffead-cpp-sql-wire-async-profiled-base.dockerfile │ │ │ ├── ffead-cpp-sql-wire-profiled-base.dockerfile │ │ │ ├── ffead-cpp-v-picov-raw-async-profiled-base.dockerfile │ │ │ └── ffead-cpp-v-picov-raw-profiled-base.dockerfile │ ├── benchmark_config.json │ ├── ffead-cpp-postgresql-async.dockerfile │ ├── ffead-cpp-postgresql-pipelined-async.dockerfile │ ├── ffead-cpp-postgresql-wire-async.dockerfile │ ├── ffead-cpp-postgresql-wire.dockerfile │ ├── ffead-cpp-postgresql.dockerfile │ ├── ffead-cpp-v-picov-postgresql-async.dockerfile │ ├── ffead-cpp-v-picov-postgresql-pipelined-async.dockerfile │ ├── ffead-cpp-v-picov-postgresql-wire-async.dockerfile │ ├── ffead-cpp-v-picov-postgresql-wire.dockerfile │ ├── ffead-cpp-v-picov-postgresql.dockerfile │ ├── profiled │ │ ├── ffead-cpp-postgresql-raw-async-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-raw-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-wire-async-profiled.dockerfile │ │ ├── ffead-cpp-postgresql-wire-profiled.dockerfile │ │ ├── ffead-cpp-v-picov-raw-async-profiled.dockerfile │ │ └── ffead-cpp-v-picov-raw-profiled.dockerfile │ ├── run_ffead.sh │ ├── scripts │ │ ├── install_ffead-cpp-dependencies.sh │ │ ├── install_ffead-cpp-framework.sh │ │ ├── install_ffead-cpp-sql-raw-profiled.sh │ │ ├── install_ffead-cpp-sql-raw-v-picov-profiled.sh │ │ ├── install_post_process.sh │ │ ├── sql-async-profiled-install.sh │ │ ├── sql-profiled-install.sh │ │ ├── sql-profiled-util.sh │ │ └── sql-v-picov-profiled-install.sh │ └── server.sh ├── test │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp-forprofile │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp-fortest │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp-fortest-nb │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp-fortest_localhost │ ├── build_local.sh │ ├── build_profile.sh │ ├── build_test-nb.sh │ ├── build_test.sh │ ├── install_deps.sh │ ├── install_ffead-cpp-profile.sh │ ├── install_ffead-cpp.sh │ ├── login.sh │ ├── mongo-debug-orm.sh │ ├── mongo-debug-raw.sh │ ├── mongodb │ │ └── create.js │ ├── mysql │ │ ├── create.sql │ │ ├── my.cnf │ │ └── mysql.list │ ├── pico.v │ │ ├── build-debug.sh │ │ ├── build.sh │ │ ├── ffead-cpp-util.c │ │ ├── ffead-cpp.h │ │ ├── main.v │ │ ├── main_latest_v.v │ │ ├── main_latest_v5.3.v │ │ ├── picoev.v │ │ └── run.sh │ ├── pipeline.lua │ ├── postgresql │ │ ├── 60-postgresql-shm.conf │ │ ├── create-postgres-database.sql │ │ ├── create-postgres.sql │ │ ├── pg_hba.conf │ │ ├── pgdg.list │ │ └── postgresql.conf │ ├── profile.sh │ ├── run.sh │ ├── run_l.sh │ ├── server.sh │ ├── sql-debug-orm.sh │ ├── sql-debug-raw-async-iouring.sh │ ├── sql-debug-raw-async-pe.sh │ ├── sql-debug-raw-async.sh │ ├── sql-debug-raw.sh │ ├── sql-debug-vpicov-raw-async.sh │ ├── sql-debug-vpicov-raw.sh │ ├── test-nb.sh │ ├── test.sh │ └── wrk │ │ ├── concurrency.sh │ │ ├── pipeline.lua │ │ ├── pipeline.sh │ │ ├── query.sh │ │ └── wrk.dockerfile └── webrtc-peerjs │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp │ ├── DockerFile-UbuntuBionic-x64-ffead-cpp_autoconf │ ├── build_all.sh │ └── install_ffead-cpp.sh ├── ffead-cpp-bazel.sh ├── ffead-cpp-buck2.sh ├── ffead-cpp-interface-test-lib ├── .gitignore ├── Debug │ ├── makefile │ ├── objects.mk │ ├── sources.mk │ └── src │ │ └── subdir.mk ├── cmds └── src │ ├── c_interface.cpp │ ├── c_interface.h │ ├── picohttpparser_fcp.cpp │ └── picohttpparser_fcp.h ├── ffead-cpp-shellb.sh ├── ffead-server.doxyfile ├── ffead_gen.help ├── ffead_gen.sh ├── ffead_gen_autoconf.help ├── ffead_gen_autoconf.sh ├── lang-server-backends ├── c++ │ └── seastar │ │ ├── SeastarFfeadCpp.cpp │ │ ├── SeastarFfeadCppIntf.cpp │ │ ├── ffead-cpp-direct.h │ │ ├── ffead-cpp.h │ │ ├── run.sh │ │ └── seastar-http.dockerfile ├── c │ ├── h2o │ │ ├── CMakeLists.txt │ │ ├── ffead-cpp.h │ │ ├── h2o.dockerfile │ │ ├── h2o.sh │ │ ├── main_basic.c │ │ └── src │ │ │ ├── bitset.h │ │ │ ├── cache.c │ │ │ ├── cache.h │ │ │ ├── database.c │ │ │ ├── database.h │ │ │ ├── error.c │ │ │ ├── error.h │ │ │ ├── event_loop.c │ │ │ ├── event_loop.h │ │ │ ├── global_data.h │ │ │ ├── handlers │ │ │ ├── ffeadcpp.c │ │ │ ├── ffeadcpp.h │ │ │ ├── json_serializer.c │ │ │ ├── json_serializer.h │ │ │ ├── plaintext.c │ │ │ ├── plaintext.h │ │ │ ├── request_handler_data.h │ │ │ ├── world.c │ │ │ └── world.h │ │ │ ├── list.h │ │ │ ├── main.c │ │ │ ├── request_handler.c │ │ │ ├── request_handler.h │ │ │ ├── thread.c │ │ │ ├── thread.h │ │ │ ├── tls.c │ │ │ ├── tls.h │ │ │ ├── utility.c │ │ │ └── utility.h │ ├── libreactor │ │ ├── Makefile │ │ ├── build.sh │ │ ├── ffead-cpp.h │ │ ├── main.c │ │ ├── setup.c │ │ └── setup.h │ ├── lsquic │ │ └── install │ └── quiche-http3 │ │ ├── cert-big.crt │ │ ├── cert.crt │ │ ├── cert.key │ │ ├── ffead-cpp.h │ │ ├── http3-server.c │ │ └── quiche-http3.dockerfile ├── crystal │ ├── crystal │ │ ├── crystal-ffead-cpp.cr │ │ ├── ffead-cpp-lib.cr │ │ └── run.sh │ └── h2o.cr │ │ ├── ffead-cpp-lib.cr │ │ ├── h2o-evloop-ffead-cpp.cr │ │ ├── run.sh │ │ └── shard.yml ├── d │ └── hunt │ │ ├── dub.json │ │ ├── dub.selections.json │ │ ├── hunt.dockerfile │ │ └── pico │ │ ├── FfeadCpp.d │ │ ├── app.d │ │ └── http │ │ ├── Common.d │ │ ├── DemoProcessor.d │ │ ├── Parser.d │ │ ├── Processor.d │ │ └── Server.d ├── go │ ├── atreugo │ │ ├── Makefile │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── fasthttp │ │ ├── Makefile │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ └── gnet │ │ ├── Makefile │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh ├── java │ ├── firenio │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── build.sh │ │ ├── pom.xml │ │ ├── run.sh │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ ├── ffead │ │ │ └── cpp │ │ │ │ └── FfeadCppInterface.java │ │ │ └── firenio │ │ │ └── ffeadcpp │ │ │ └── FirenioFfeadCppServer.java │ ├── rapidoid │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── build.sh │ │ ├── pom.xml │ │ ├── run.sh │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ ├── ffead │ │ │ │ └── cpp │ │ │ │ │ └── FfeadCppInterface.java │ │ │ │ └── rapidoid │ │ │ │ └── ffeadcpp │ │ │ │ ├── FfeadCppController.java │ │ │ │ └── Main.java │ │ │ └── resources │ │ │ └── config.yml │ └── wizzardo-http │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── bin │ │ └── .gitignore │ │ ├── build.gradle │ │ ├── build.sh │ │ ├── run.sh │ │ ├── settings.gradle │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ ├── ffead │ │ │ └── cpp │ │ │ │ └── FfeadCppInterface.java │ │ │ └── wizzardo │ │ │ ├── ffeadcpp │ │ │ ├── App.java │ │ │ └── FfeadCppController.java │ │ │ └── http │ │ │ └── request │ │ │ └── Request.java │ │ └── resources │ │ └── Config.groovy ├── javascript │ ├── emscripten │ │ ├── ffead-cpp-emscripten.dockerfile │ │ ├── ffead-cpp-glue.cpp │ │ ├── ffead-cpp.h │ │ ├── steps │ │ └── test.html │ └── nodejs │ │ ├── ffead-cpp-nodejs-http.dockerfile │ │ ├── package.json │ │ └── server.js ├── julia │ └── http.jl │ │ ├── http.dockerfile │ │ └── server.jl ├── rust │ ├── Dockerfile │ ├── actix-ffead-cpp │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── hyper-ffead-cpp │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ └── thruster-ffead-cpp │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs ├── swift │ └── swift-nio │ │ ├── .dockerignore │ │ ├── FfeadCpp │ │ ├── Package.swift │ │ └── Sources │ │ │ └── FfeadCpp │ │ │ ├── ffead-cpp.h │ │ │ └── module.modulemap │ │ ├── app │ │ ├── Package.resolved │ │ ├── Package.swift │ │ └── Sources │ │ │ ├── RFC1123DateFormatter.swift │ │ │ └── main.swift │ │ └── swift-nio.dockerfile └── v │ ├── Dockerfile │ ├── pico.v │ ├── build-debug.sh │ ├── build.sh │ ├── ffead-cpp-util.c │ ├── ffead-cpp.h │ ├── main.v │ ├── main_latest_v.v │ ├── main_latest_v5.3.v │ ├── picoev.v │ └── run.sh │ ├── v_linux.zip │ └── vweb │ ├── build.sh │ ├── dtutil.c │ ├── ffead-cpp.h │ ├── run.sh │ └── vweb.v ├── lib └── README-LIB.txt ├── m4 ├── ax_check_postgres_db.m4 ├── ax_cxx_check_lib.m4 ├── ax_cxx_compile_stdcxx.m4 ├── ax_cxx_compile_stdcxx_11.m4 └── ax_cxx_compile_stdcxx_17.m4 ├── meson.build ├── meson_grabber.sh ├── meson_options.txt ├── meson_postinstall.sh ├── modules ├── apache_mod_ffeadcpp │ ├── .project │ ├── CMakeLists.txt │ ├── INSTALL │ ├── autotools │ │ └── Makefile.am │ ├── makefile │ ├── mod_ffeadcpp.cpp │ ├── run.sh │ └── run_cygwin.sh ├── nginx_mod_ffeadcpp │ ├── CMakeLists.txt │ ├── autotools │ │ └── Makefile.am │ ├── build-nginx.sh │ ├── config │ ├── config_autoconf │ ├── configur.txt │ ├── mod_ffeadcpp.cpp │ ├── nginx.conf │ ├── ngx_http_ffeadcpp_module.cpp │ └── works_ngx_http_ffeadcpp_module.cpp └── openlitespeed_mod_ffeadcpp │ ├── ccc.sh │ └── mod_ffeadcpp.cpp ├── public ├── afc.js ├── json2.js └── prototype.js ├── resources ├── create-certificate-chain.sh ├── ffead-gen │ ├── CMakeLists.txt.template │ ├── CMakeLists.txt.template.top │ ├── Makefile.am │ ├── configure.ac.orig │ ├── markers │ │ ├── TControllerHeader.t │ │ ├── TFilterHeader.t │ │ ├── TRestApiHeader.t │ │ └── application.xml │ └── xml │ │ ├── TControllerDef.t │ │ ├── TControllerHeader.t │ │ ├── TFilterDef.t │ │ ├── TFilterHeader.t │ │ ├── TRestApiDef.t │ │ ├── TRestApiHeader.t │ │ └── application.xml ├── locale.prop ├── logging.xml ├── mime-types.prop ├── odbc.ini ├── odbcinst.ini ├── plugins.prop ├── rundyn-automake.sh ├── rundyn-automake_autoconf.sh ├── rundyn-automake_dinter_autoconf.sh ├── rundyn-configure.sh ├── sample-odbc.ini ├── sample-odbcinst.ini ├── security.prop ├── server.prop ├── template.wsdl ├── templateArr.wsdl ├── templateObjBin.wsdl ├── templateReqRes.wsdl ├── templateWsdlBind.wsdl ├── templateWsdlMsg.wsdl └── templateWsdlOpe.wsdl ├── rtdcf ├── CMakeLists.txt.template.in ├── autotools │ ├── Makefile.am │ ├── Makefile.am.template │ ├── autogen-noreconf.sh │ ├── autogen.sh │ ├── configure.ac │ ├── configure.ac.template │ └── m4 │ │ ├── ax_check_postgres_db.m4 │ │ ├── ax_cxx_check_lib.m4 │ │ ├── ax_cxx_compile_stdcxx.m4 │ │ ├── ax_cxx_compile_stdcxx_11.m4 │ │ ├── ax_cxx_compile_stdcxx_17.m4 │ │ ├── libtool.m4 │ │ ├── ltoptions.m4 │ │ ├── ltsugar.m4 │ │ ├── ltversion.m4 │ │ └── lt~obsolete.m4 ├── inter-shellb.bazel.buck2.sh.tem ├── inter-shellb.sh.tem ├── meson.build ├── meson_lister.sh ├── sconstruct.in ├── shellb ├── toolchains │ └── BUCK ├── xmake-install.sh └── xmake.lua ├── sample-inst ├── cinatra_install_ffead-cpp-framework.sh ├── drogon_install_ffead-cpp-framework.sh ├── embedded_install_ffead-cpp-framework.sh ├── install_ffead-cpp-framework.sh ├── libreactor_install_ffead-cpp-framework.sh ├── lithium_install_ffead-cpp-framework.sh ├── openlitespeed-install_ffead-cpp-framework.sh ├── runmongo.sh ├── rust_actix_install_ffead-cpp-framework.sh ├── rust_hyper_install_ffead-cpp-framework.sh ├── rust_rocket_install_ffead-cpp-framework.sh ├── sql-install_ffead-cpp-framework.sh └── te_install_ffead-cpp-framework.sh ├── scons_options.py ├── sconstruct ├── script ├── client.pem ├── dh1024.pem ├── dparams.pem ├── root.pem ├── rootCA.crt ├── rootCA.key ├── rootCA.srl ├── server.crt ├── server.key ├── server.pem ├── server.req ├── server.sh ├── server_calgrind.sh ├── server_debug.sh ├── server_valgrind.sh ├── serverchain.pem └── vhost-server.sh ├── shellb ├── siege.sh ├── src ├── autotools │ ├── bins │ │ └── Makefile.am │ └── libs │ │ └── Makefile.am ├── framework │ ├── AfcUtil.cpp │ ├── AfcUtil.h │ ├── ApplicationUtil.cpp │ ├── ApplicationUtil.h │ ├── AuthController.cpp │ ├── AuthController.h │ ├── CMakeLists.txt │ ├── ConfigurationData.cpp │ ├── ConfigurationData.h │ ├── ConfigurationHandler.cpp │ ├── ConfigurationHandler.h │ ├── Controller.h │ ├── ControllerHandler.cpp │ ├── ControllerHandler.h │ ├── DBAuthController.cpp │ ├── DBAuthController.h │ ├── DCPGenerator.cpp │ ├── DCPGenerator.h │ ├── DynamicView.h │ ├── ExtHandler.cpp │ ├── ExtHandler.h │ ├── FileAuthController.cpp │ ├── FileAuthController.h │ ├── Filter.h │ ├── FilterHandler.cpp │ ├── FilterHandler.h │ ├── FormController.h │ ├── FormHandler.cpp │ ├── FormHandler.h │ ├── FviewHandler.cpp │ ├── FviewHandler.h │ ├── LDAPAuthController.cpp │ ├── LDAPAuthController.h │ ├── Router.h │ ├── ScriptHandler.cpp │ ├── ScriptHandler.h │ ├── SecurityHandler.cpp │ ├── SecurityHandler.h │ ├── ServerInitUtil.cpp │ ├── ServerInitUtil.h │ ├── ServiceTask.cpp │ ├── ServiceTask.h │ ├── SoapHandler.cpp │ ├── SoapHandler.h │ ├── TemplateGenerator.cpp │ ├── TemplateGenerator.h │ ├── TemplateHandler.h │ ├── WsUtil.cpp │ ├── WsUtil.h │ ├── c_interface.cpp │ ├── c_interface.h │ ├── meson.build │ ├── sconscript │ └── xmake.lua ├── modules │ ├── CMakeLists.txt │ ├── cache │ │ ├── CacheInterface.cpp │ │ ├── CacheInterface.h │ │ ├── CacheManager.cpp │ │ ├── CacheManager.h │ │ ├── memcached │ │ │ ├── MemcachedImpl.cpp │ │ │ └── MemcachedImpl.h │ │ ├── memory │ │ │ ├── MemoryCacheImpl.cpp │ │ │ └── MemoryCacheImpl.h │ │ └── redis │ │ │ ├── RedisCacheImpl.cpp │ │ │ ├── RedisCacheImpl.h │ │ │ ├── RedisClusterCacheImpl.cpp │ │ │ └── RedisClusterCacheImpl.h │ ├── client-util │ │ ├── Client.cpp │ │ ├── Client.h │ │ ├── ClientInterface.cpp │ │ ├── ClientInterface.h │ │ ├── HttpClient.cpp │ │ ├── HttpClient.h │ │ └── ssl │ │ │ ├── SSLClient.cpp │ │ │ └── SSLClient.h │ ├── common │ │ ├── AppDefines.bazel.h.in │ │ ├── AppDefines.h │ │ ├── AppDefines.h.in.mc │ │ ├── AppDefines.h.in~ │ │ ├── AppDefines.hd │ │ ├── AppDefines.meson.h.in │ │ ├── AppDefines.scons.h.in │ │ ├── AppDefines.xmake.h.in │ │ ├── Bigdecimal.cpp │ │ ├── Bigdecimal.h │ │ ├── Bigint.cpp │ │ ├── Bigint.h │ │ ├── BinaryData.cpp │ │ ├── BinaryData.h │ │ ├── CastUtil.cpp │ │ ├── CastUtil.h │ │ ├── CommonUtils.cpp │ │ ├── CommonUtils.h │ │ ├── Compatibility.cpp │ │ ├── Compatibility.h │ │ ├── CompressionUtil.cpp │ │ ├── CompressionUtil.h │ │ ├── Connection.cpp │ │ ├── Connection.h │ │ ├── ConnectionPooler.cpp │ │ ├── ConnectionPooler.h │ │ ├── Constants.h │ │ ├── CryptoHandler.cpp │ │ ├── CryptoHandler.h │ │ ├── DLogger.cpp │ │ ├── DLogger.h │ │ ├── Date.cpp │ │ ├── Date.h │ │ ├── DateFormat.cpp │ │ ├── DateFormat.h │ │ ├── Document.cpp │ │ ├── Document.h │ │ ├── Element.cpp │ │ ├── Element.h │ │ ├── Exception.cpp │ │ ├── Exception.h │ │ ├── GenericObject.cpp │ │ ├── GenericObject.h │ │ ├── JSONElement.cpp │ │ ├── JSONElement.h │ │ ├── JSONUtil.cpp │ │ ├── JSONUtil.h │ │ ├── Logger.cpp │ │ ├── Logger.h │ │ ├── LoggerFactory.cpp │ │ ├── LoggerFactory.h │ │ ├── MarkerHandler.cpp │ │ ├── MarkerHandler.h │ │ ├── MurmurHash3.cpp │ │ ├── MurmurHash3.h │ │ ├── PropFileReader.cpp │ │ ├── PropFileReader.h │ │ ├── RegexUtil.cpp │ │ ├── RegexUtil.h │ │ ├── Renderer.cpp │ │ ├── Renderer.h │ │ ├── ReusableInstanceHolder.cpp │ │ ├── ReusableInstanceHolder.h │ │ ├── SimpleCsvFileReader.cpp │ │ ├── SimpleCsvFileReader.h │ │ ├── SimpleXmlParser.cpp │ │ ├── SimpleXmlParser.h │ │ ├── StringUtil.cpp │ │ ├── StringUtil.h │ │ ├── SynchronizedMap.h │ │ ├── SynchronizedQueue.h │ │ ├── TemplateEngine.cpp │ │ ├── TemplateEngine.h │ │ ├── TimeUnit.h │ │ ├── Timer.cpp │ │ ├── Timer.h │ │ ├── View.cpp │ │ ├── View.h │ │ ├── XmlParseException.cpp │ │ ├── XmlParseException.h │ │ ├── blockingconcurrentqueue.h │ │ ├── concurrentqueue.h │ │ ├── csv.hpp │ │ ├── hescape.cpp │ │ ├── hescape.h │ │ ├── lightweightsemaphore.h │ │ ├── picoev.h │ │ ├── picoev │ │ │ ├── picoev_epoll.cpp │ │ │ ├── picoev_kqueue.cpp │ │ │ └── picoev_select.cpp │ │ ├── picohttpparser_fcp.cpp │ │ ├── picohttpparser_fcp.h │ │ ├── yuarel.cpp │ │ └── yuarel.h │ ├── component │ │ ├── AppContext.cpp │ │ ├── AppContext.h │ │ ├── BeanContext.cpp │ │ ├── BeanContext.h │ │ ├── Component.cpp │ │ ├── Component.h │ │ ├── ComponentGen.cpp │ │ ├── ComponentGen.h │ │ ├── ComponentHandler.cpp │ │ ├── ComponentHandler.h │ │ ├── ConnectionSettings.cpp │ │ ├── ConnectionSettings.h │ │ ├── RemoteComponent.cpp │ │ ├── RemoteComponent.h │ │ ├── Service.cpp │ │ ├── Service.h │ │ ├── ServiceInt.cpp │ │ ├── ServiceInt.h │ │ ├── ServicePool.cpp │ │ └── ServicePool.h │ ├── distocache │ │ ├── BasicDistoCacheConnectionFactory.cpp │ │ ├── BasicDistoCacheConnectionFactory.h │ │ ├── CacheMap.cpp │ │ ├── CacheMap.h │ │ ├── DistDeque.h │ │ ├── DistGlobalCache.h │ │ ├── DistList.h │ │ ├── DistMap.h │ │ ├── DistQueue.h │ │ ├── DistSet.h │ │ ├── DistVector.h │ │ ├── DistoCacheClientUtils.cpp │ │ ├── DistoCacheClientUtils.h │ │ ├── DistoCacheHandler.cpp │ │ ├── DistoCacheHandler.h │ │ ├── DistoCacheServiceHandler.cpp │ │ ├── DistoCacheServiceHandler.h │ │ ├── PooledDistoCacheConnectionFactory.cpp │ │ └── PooledDistoCacheConnectionFactory.h │ ├── http │ │ ├── CORSHandler.cpp │ │ ├── CORSHandler.h │ │ ├── ContentTypes.cpp │ │ ├── ContentTypes.h │ │ ├── HTTPResponseStatus.cpp │ │ ├── HTTPResponseStatus.h │ │ ├── HttpRequest.cpp │ │ ├── HttpRequest.h │ │ ├── HttpResponse.cpp │ │ ├── HttpResponse.h │ │ ├── HttpResponseParser.cpp │ │ ├── HttpResponseParser.h │ │ ├── HttpServiceHandler.cpp │ │ ├── HttpServiceHandler.h │ │ ├── HttpSession.cpp │ │ ├── HttpSession.h │ │ ├── MultipartContent.cpp │ │ ├── MultipartContent.h │ │ ├── WebSockHandler.cpp │ │ ├── WebSockHandler.h │ │ ├── http11 │ │ │ ├── Http11Handler.cpp │ │ │ ├── Http11Handler.h │ │ │ ├── Http11WebSocketDataFrame.cpp │ │ │ ├── Http11WebSocketDataFrame.h │ │ │ ├── Http11WebSocketHandler.cpp │ │ │ └── Http11WebSocketHandler.h │ │ └── http20 │ │ │ ├── Http2AlternativeServicesFrame.cpp │ │ │ ├── Http2AlternativeServicesFrame.h │ │ │ ├── Http2ContinuationFrame.cpp │ │ │ ├── Http2ContinuationFrame.h │ │ │ ├── Http2DataFrame.cpp │ │ │ ├── Http2DataFrame.h │ │ │ ├── Http2Frame.cpp │ │ │ ├── Http2Frame.h │ │ │ ├── Http2FrameHeader.cpp │ │ │ ├── Http2FrameHeader.h │ │ │ ├── Http2GoAwayFrame.cpp │ │ │ ├── Http2GoAwayFrame.h │ │ │ ├── Http2HPACKContext.cpp │ │ │ ├── Http2HPACKContext.h │ │ │ ├── Http2Handler.cpp │ │ │ ├── Http2Handler.h │ │ │ ├── Http2HeadersFrame.cpp │ │ │ ├── Http2HeadersFrame.h │ │ │ ├── Http2PingFrame.cpp │ │ │ ├── Http2PingFrame.h │ │ │ ├── Http2PriorityFrame.cpp │ │ │ ├── Http2PriorityFrame.h │ │ │ ├── Http2PushPromiseFrame.cpp │ │ │ ├── Http2PushPromiseFrame.h │ │ │ ├── Http2ReadWriteUtil.cpp │ │ │ ├── Http2ReadWriteUtil.h │ │ │ ├── Http2ResetStreamFrame.cpp │ │ │ ├── Http2ResetStreamFrame.h │ │ │ ├── Http2SettingsFrame.cpp │ │ │ ├── Http2SettingsFrame.h │ │ │ ├── Http2StreamHandler.cpp │ │ │ ├── Http2StreamHandler.h │ │ │ ├── Http2WindowUpdateFrame.cpp │ │ │ └── Http2WindowUpdateFrame.h │ ├── interpreter │ │ ├── CppInterpreter.cpp │ │ └── CppInterpreter.h │ ├── ioc │ │ ├── FFEADContext.cpp │ │ └── FFEADContext.h │ ├── jobs │ │ ├── CronTimer.cpp │ │ ├── CronTimer.h │ │ ├── JobScheduler.cpp │ │ └── JobScheduler.h │ ├── meson.build │ ├── methinvoker │ │ ├── MethodInvoc.cpp │ │ └── MethodInvoc.h │ ├── msghandler │ │ ├── Destination.cpp │ │ ├── Destination.h │ │ ├── InvalidMessageException.cpp │ │ ├── InvalidMessageException.h │ │ ├── MQueue.cpp │ │ ├── MQueue.h │ │ ├── Message.cpp │ │ ├── Message.h │ │ ├── MessageHandler.cpp │ │ ├── MessageHandler.h │ │ ├── MessageUtil.cpp │ │ └── MessageUtil.h │ ├── picoev_w32.h │ ├── reflection │ │ ├── Class.cpp │ │ ├── Class.h │ │ ├── ClassInfo.cpp │ │ ├── ClassInfo.h │ │ ├── ClassStructure.h │ │ ├── Constructor.cpp │ │ ├── Constructor.h │ │ ├── Field.cpp │ │ ├── Field.h │ │ ├── Method.cpp │ │ ├── Method.h │ │ ├── Reflection.cpp │ │ ├── Reflection.h │ │ ├── Reflector.cpp │ │ └── Reflector.h │ ├── sconscript │ ├── sdorm │ │ ├── DataSourceInterface.cpp │ │ ├── DataSourceInterface.h │ │ ├── DataSourceManager.cpp │ │ ├── DataSourceManager.h │ │ ├── DataSourceMapping.cpp │ │ ├── DataSourceMapping.h │ │ ├── HiloIdGenerator.cpp │ │ ├── HiloIdGenerator.h │ │ ├── IDGenerator.cpp │ │ ├── IDGenerator.h │ │ ├── Query.cpp │ │ ├── Query.h │ │ ├── QueryBuilder.cpp │ │ ├── QueryBuilder.h │ │ ├── gtm │ │ │ ├── GTM.cpp │ │ │ ├── GTM.h │ │ │ ├── GTMException.h │ │ │ ├── _gtmaccess.m │ │ │ ├── _gtmaccess.m.bak │ │ │ └── gtm_access.ci │ │ ├── mongo │ │ │ ├── MongoDBConnectionPool.cpp │ │ │ ├── MongoDBConnectionPool.h │ │ │ ├── MongoDBDataSourceImpl.cpp │ │ │ ├── MongoDBDataSourceImpl.h │ │ │ └── raw │ │ │ │ ├── MongoDBRawDataSourceImpl.cpp │ │ │ │ └── MongoDBRawDataSourceImpl.h │ │ ├── scylla │ │ │ └── raw │ │ │ │ ├── ScyllaDBRawDataSourceImpl.cpp │ │ │ │ └── ScyllaDBRawDataSourceImpl.h │ │ └── sql │ │ │ ├── DialectHelper.cpp │ │ │ ├── DialectHelper.h │ │ │ ├── SQLConnectionPool.cpp │ │ │ ├── SQLConnectionPool.h │ │ │ ├── SQLDataSourceImpl.cpp │ │ │ ├── SQLDataSourceImpl.h │ │ │ └── libpq │ │ │ ├── LibpqDataSourceImpl.cpp │ │ │ └── LibpqDataSourceImpl.h │ ├── search │ │ ├── DocumentQuery.cpp │ │ ├── DocumentQuery.h │ │ ├── IndexQuery.cpp │ │ ├── IndexQuery.h │ │ ├── SearchEngineInterface.cpp │ │ ├── SearchEngineInterface.h │ │ ├── SearchEngineManager.cpp │ │ ├── SearchEngineManager.h │ │ ├── SearchQuery.cpp │ │ ├── SearchQuery.h │ │ ├── elasticsearch │ │ │ ├── ElasticSearch.cpp │ │ │ └── ElasticSearch.h │ │ └── solr │ │ │ ├── SolrSearch.cpp │ │ │ └── SolrSearch.h │ ├── serialization │ │ ├── SerializeBase.cpp │ │ ├── SerializeBase.h │ │ ├── binary │ │ │ ├── AMEFDecoder.cpp │ │ │ ├── AMEFDecoder.h │ │ │ ├── AMEFEncoder.cpp │ │ │ ├── AMEFEncoder.h │ │ │ ├── AMEFObject.cpp │ │ │ ├── AMEFObject.h │ │ │ ├── AMEFResources.cpp │ │ │ ├── AMEFResources.h │ │ │ ├── BinarySerialize.cpp │ │ │ └── BinarySerialize.h │ │ ├── json │ │ │ ├── JSONSerialize.cpp │ │ │ └── JSONSerialize.h │ │ └── xml │ │ │ ├── XMLSerialize.cpp │ │ │ └── XMLSerialize.h │ ├── server-util │ │ ├── NBServer.cpp │ │ ├── NBServer.h │ │ ├── RequestHandler2.cpp │ │ ├── RequestHandler2.h │ │ ├── RequestReaderHandler.cpp │ │ ├── RequestReaderHandler.h │ │ ├── SelEpolKqEvPrt.cpp │ │ ├── SelEpolKqEvPrt.h │ │ ├── Server.cpp │ │ ├── Server.h │ │ ├── ServiceHandler.cpp │ │ ├── ServiceHandler.h │ │ ├── SocketInterface.cpp │ │ └── SocketInterface.h │ ├── ssl │ │ ├── SSLCommon.cpp │ │ ├── SSLCommon.h │ │ ├── SSLHandler.cpp │ │ └── SSLHandler.h │ ├── threads │ │ ├── FutureTask.cpp │ │ ├── FutureTask.h │ │ ├── Mutex.cpp │ │ ├── Mutex.h │ │ ├── PoolThread.cpp │ │ ├── PoolThread.h │ │ ├── Task.cpp │ │ ├── Task.h │ │ ├── TaskPool.cpp │ │ ├── TaskPool.h │ │ ├── Thread.cpp │ │ ├── Thread.h │ │ ├── ThreadLocal.cpp │ │ ├── ThreadLocal.h │ │ ├── ThreadPool.cpp │ │ └── ThreadPool.h │ ├── wepoll │ │ ├── wepoll.cpp │ │ └── wepoll.h │ └── xmake.lua └── server │ ├── cinatra │ ├── CinatraServer.cpp │ └── CinatraServer.h │ ├── cppserver │ ├── CppServerServer.cpp │ └── CppServerServer.h │ ├── drogon │ ├── DrogonServer.cpp │ └── DrogonServer.h │ ├── embedded │ ├── CHServer.cpp │ └── CHServer.h │ ├── lithium │ ├── LithiumServer.cpp │ ├── LithiumServer.h │ └── lithium_http_backend.hh │ ├── mongols │ ├── MongolsServer.cpp │ ├── MongolsServer.h │ └── install │ ├── nghttp2 │ ├── Nghttp2Server.cpp │ ├── Nghttp2Server.h │ └── install │ ├── sconscript │ └── uv-cpp │ ├── UvCppServer.cpp │ └── UvCppServer.h ├── tests ├── CMakeLists.txt ├── FfeadServerTestSuite.cpp ├── autotools │ └── Makefile.am ├── client.pem ├── dh1024.pem ├── meson.build ├── root.pem ├── runTests.sh ├── sconscript ├── security.prop ├── test-te-all.csv ├── test-te-full.csv ├── test-te.csv ├── test.csv ├── testValues.prop └── xmake.lua ├── toolchains └── BUCK ├── tsan_suppressions.txt ├── vagrant ├── freebsd │ ├── Vagrantfile │ ├── bootstrap.sh │ └── core.rb └── solaris │ ├── Vagrantfile │ ├── bootstrap.sh │ └── core.rb ├── web ├── default │ ├── CMakeLists.txt │ ├── components │ │ └── test.cmp │ ├── config │ │ ├── application.xml │ │ ├── cache.xml │ │ ├── fviews.xml │ │ ├── mess1.xml │ │ ├── messaging.xml │ │ ├── sdorm-mysql.xml │ │ ├── search-solr.xml │ │ └── ws.xml │ ├── dcp │ │ ├── test.dcp │ │ └── testheader.dcp │ ├── fviews │ │ └── test.html │ ├── include │ │ ├── DefTemp.h │ │ ├── DefaultController.h │ │ ├── DefaultIOFilter.h │ │ ├── DefaultOAUTHController.h │ │ ├── DefaultRestController.h │ │ ├── DefaultWebSocketHandler.h │ │ ├── DepDependencyBean1Impl.h │ │ ├── DepDependencyBean2Impl.h │ │ ├── DependencyBean1.h │ │ ├── DependencyBean2.h │ │ ├── DependencyBean3.h │ │ ├── DependencyBean4.h │ │ ├── DependencyIntf1.h │ │ ├── DependencyIntf2.h │ │ ├── Dview.h │ │ ├── Expose.h │ │ ├── GtmAccesController.h │ │ ├── Tempo.h │ │ ├── Test.h │ │ ├── Test2.h │ │ ├── Test3.h │ │ ├── Test4.h │ │ ├── TestAllInOne.h │ │ ├── TestBeanCons.h │ │ ├── TestBeanIntf.h │ │ ├── TestBeanProp.h │ │ ├── TestCronBasedJob.h │ │ ├── TestForm.h │ │ ├── TestFormController.h │ │ ├── TestMany.h │ │ ├── TestObject.h │ │ ├── TestObject1.h │ │ ├── TestPage.h │ │ ├── TestSTLs.h │ │ ├── Testing.h │ │ ├── TestingWS.h │ │ └── YObject.h │ ├── meson.build │ ├── public │ │ ├── afc.js │ │ ├── app.xml │ │ ├── bg.jpg │ │ ├── code.xml │ │ ├── dcp_test.html │ │ ├── dcp_testheader.html │ │ ├── images │ │ │ ├── img │ │ │ │ └── test.jpg │ │ │ └── test.jpg │ │ ├── index.html │ │ ├── index1.html │ │ ├── index2.html │ │ ├── index_arabic.html │ │ ├── indexmain.html │ │ ├── json2.js │ │ ├── login.html │ │ ├── multi-file-upload1.html │ │ ├── multi-file-upload2.html │ │ ├── oauth.js │ │ ├── prototype.js │ │ ├── ravi.html │ │ ├── websock.html │ │ ├── welcome.html │ │ └── www.html │ ├── sconscript │ ├── scripts │ │ ├── lua │ │ │ └── testLUA.lua │ │ ├── nodejs │ │ │ └── testNODE.njs │ │ ├── perl │ │ │ └── testPERL.pl │ │ ├── php │ │ │ └── testPHP.php │ │ ├── python │ │ │ └── testPYTHON.py │ │ └── ruby │ │ │ └── testRUBY.rb │ ├── src │ │ ├── .project │ │ ├── DefTemp.cpp │ │ ├── DefaultController.cpp │ │ ├── DefaultIOFilter.cpp │ │ ├── DefaultOAUTHController.cpp │ │ ├── DefaultRestController.cpp │ │ ├── DefaultWebSocketHandler.cpp │ │ ├── Dview.cpp │ │ ├── Expose.cpp │ │ ├── GtmAccesController.cpp │ │ ├── Tempo.cpp │ │ ├── Test.cpp │ │ ├── Test2.cpp │ │ ├── Test3.cpp │ │ ├── Test4.cpp │ │ ├── TestAOP.ac │ │ ├── TestCronBasedJob.cpp │ │ ├── TestForm.cpp │ │ ├── TestFormController.cpp │ │ ├── TestMany.cpp │ │ ├── TestObject.cpp │ │ ├── TestObject1.cpp │ │ ├── TestPage.cpp │ │ ├── Testing.cpp │ │ ├── TestingWS.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── test.tpe │ ├── users │ └── xmake.lua ├── flexApp │ ├── CMakeLists.txt │ ├── config │ │ └── application.xml │ ├── include │ │ └── FlexAppController.h │ ├── meson.build │ ├── public │ │ ├── AC_OETags.js │ │ ├── flex-src │ │ │ ├── as3corelib.swc │ │ │ └── flexApp.mxml │ │ ├── flexApp.swf │ │ ├── history │ │ │ ├── history.css │ │ │ ├── history.js │ │ │ └── historyFrame.html │ │ ├── index.html │ │ └── playerProductInstall.swf │ ├── sconscript │ ├── src │ │ ├── FlexAppController.cpp │ │ └── autotools │ │ │ └── Makefile.am │ └── xmake.lua ├── markers │ ├── CMakeLists.txt │ ├── config │ │ └── application.xml │ ├── include │ │ ├── MarkerController.h │ │ ├── MarkerDefTemp.h │ │ ├── MarkerDview.h │ │ ├── MarkerExpose.h │ │ ├── MarkerIOFilter.h │ │ ├── MarkerRestController.h │ │ ├── MarkerSecurityProvider.h │ │ ├── MarkerTest.h │ │ ├── MarkerTesting.h │ │ └── MarkerYObject.h │ ├── meson.build │ ├── public │ │ ├── afc.js │ │ ├── bg.jpg │ │ ├── dcp_test.html │ │ ├── dcp_testheader.html │ │ ├── images │ │ │ ├── img │ │ │ │ └── test.jpg │ │ │ └── test.jpg │ │ ├── index.html │ │ ├── index1.html │ │ ├── index2.html │ │ ├── index_arabic.html │ │ ├── indexmain.html │ │ ├── json2.js │ │ ├── login.html │ │ ├── multi-file-upload1.html │ │ ├── multi-file-upload2.html │ │ ├── oauth.js │ │ ├── prototype.js │ │ ├── ravi.html │ │ ├── welcome.html │ │ └── www.html │ ├── sconscript │ ├── src │ │ ├── .project │ │ ├── MarkerController.cpp │ │ ├── MarkerDefTemp.cpp │ │ ├── MarkerDview.cpp │ │ ├── MarkerExpose.cpp │ │ ├── MarkerIOFilter.cpp │ │ ├── MarkerRestController.cpp │ │ ├── MarkerSecurityProvider.cpp │ │ ├── MarkerTest.cpp │ │ ├── MarkerTesting.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── mark.tpe │ ├── users │ └── xmake.lua ├── oauthApp │ ├── CMakeLists.txt │ ├── config │ │ └── application.xml │ ├── include │ │ ├── OAUTH2Controller.h │ │ └── OAUTHController.h │ ├── meson.build │ ├── public │ │ ├── afc.js │ │ ├── home.html │ │ ├── images │ │ │ └── test.jpg │ │ ├── index.html │ │ ├── json2.js │ │ ├── oauth.js │ │ ├── prototype.js │ │ ├── utility.js │ │ └── welcome.html │ ├── sconscript │ ├── src │ │ ├── OAUTH2Controller.cpp │ │ ├── OAUTHController.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── users │ └── xmake.lua ├── peer-server │ ├── CMakeLists.txt │ ├── config │ │ ├── app.prop │ │ ├── application.xml │ │ ├── cache.xml │ │ └── cacheredis.xml │ ├── include │ │ └── PeerServerController.h │ ├── meson.build │ ├── public │ │ ├── index.html │ │ ├── index.js │ │ └── peerjs.min.js │ ├── sconscript │ ├── src │ │ ├── PeerServerController.cpp │ │ └── autotools │ │ │ └── Makefile.am │ └── xmake.lua ├── t1 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememcached.xml │ │ ├── cachememory.xml │ │ ├── cacheredis.xml │ │ ├── sdormmongo.xml │ │ ├── sdormmysql.xml │ │ └── sdormpostgresql.xml │ ├── include │ │ ├── TeBkUm.h │ │ └── TeBkUmWorld.h │ ├── meson.build │ ├── sconscript │ ├── sql-src │ │ ├── TeBkUmWorldmongo.cpp │ │ ├── TeBkUmWorldmongo.h │ │ ├── TeBkUmWorldsql.cpp │ │ └── TeBkUmWorldsql.h │ ├── src │ │ ├── TeBkUm.cpp │ │ ├── TeBkUmWorld.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t2 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememcached.xml │ │ ├── cachememory.xml │ │ ├── cacheredis.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmMgr.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmMgr.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t3 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememcached.xml │ │ ├── cachememory.xml │ │ ├── cacheredis.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmLpq.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmLpq.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t4 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememory.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmLpqAsync.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmLpqAsync.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t5 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmLpqQwAsync.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmLpqQwAsync.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t6 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememcached.xml │ │ ├── cachememory.xml │ │ ├── cacheredis.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmFpg.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmFpg.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua ├── t7 │ ├── CMakeLists.txt │ ├── config │ │ ├── application.xml │ │ ├── cachememory.xml │ │ └── sdorm.xml │ ├── include │ │ └── TeBkUmFpgAsync.h │ ├── meson.build │ ├── sconscript │ ├── src │ │ ├── TeBkUmFpgAsync.cpp │ │ └── autotools │ │ │ └── Makefile.am │ ├── tpe │ │ └── fortunes.tpe │ └── xmake.lua └── te-benchmark │ ├── CMakeLists.txt │ ├── config │ ├── application.xml │ ├── cachememcached.xml │ ├── cachememory.xml │ ├── cacheredis.xml │ ├── sdormmongo.xml │ ├── sdormmysql.xml │ └── sdormpostgresql.xml │ ├── include │ ├── TeBkFortune.h │ ├── TeBkFortuneTemplate.h │ ├── TeBkMessage.h │ ├── TeBkRestController.h │ └── TeBkWorld.h │ ├── meson.build │ ├── sconscript │ ├── sql-src │ ├── TeBkWorldmongo.cpp │ ├── TeBkWorldmongo.h │ ├── TeBkWorldsql.cpp │ └── TeBkWorldsql.h │ ├── src │ ├── TeBkFortune.cpp │ ├── TeBkFortuneTemplate.cpp │ ├── TeBkMessage.cpp │ ├── TeBkRestController.cpp │ ├── TeBkWorld.cpp │ └── autotools │ │ └── Makefile.am │ ├── tpe │ └── fortunes.tpe │ └── xmake.lua ├── xmake-install.sh └── xmake.lua /.github/workflows/ci-almalinux.yml: -------------------------------------------------------------------------------- 1 | name: Almalinux 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on almalinux 21 | run: | 22 | cd docker/os-based 23 | docker build -f DockerFile-Almalinux-x64-ffead-cpp . 24 | #docker build -f DockerFile-Almalinux-x64-ffead-cpp_autoconf . 25 | -------------------------------------------------------------------------------- /.github/workflows/ci-alpine.yml: -------------------------------------------------------------------------------- 1 | name: Alpine 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on alpine 21 | run: | 22 | cd docker/os-based 23 | docker build -f DockerFile-Alpine-x64-ffead-cpp . 24 | docker build -f DockerFile-Alpine-x64-ffead-cpp_autoconf . 25 | -------------------------------------------------------------------------------- /.github/workflows/ci-archlinux.yml: -------------------------------------------------------------------------------- 1 | name: Archlinux 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on archlinux 21 | run: | 22 | cd docker/os-based 23 | docker build -f DockerFile-ArchLinux-x64-ffead-cpp . 24 | docker build -f DockerFile-ArchLinux-x64-ffead-cpp_autoconf . 25 | -------------------------------------------------------------------------------- /.github/workflows/ci-bazel.yml: -------------------------------------------------------------------------------- 1 | name: Bazel build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with bazel 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-bazel . 22 | -------------------------------------------------------------------------------- /.github/workflows/ci-buck2.yml: -------------------------------------------------------------------------------- 1 | name: Buck2 build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with buck2 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-buck2 . 22 | -------------------------------------------------------------------------------- /.github/workflows/ci-cross-mingw-w64.yml: -------------------------------------------------------------------------------- 1 | name: Mingw-w64 Cross Compile 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Cross compile ffead-cpp for mingw-w64 21 | run: | 22 | cd docker 23 | docker build -f DockerFile-cross-archlinux-mingw64 . 24 | -------------------------------------------------------------------------------- /.github/workflows/ci-cross-musl.yml: -------------------------------------------------------------------------------- 1 | name: Musl Cross Compile 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Cross compile ffead-cpp for musl 21 | run: | 22 | cd docker 23 | docker build -f DockerFile-cross-musl . 24 | -------------------------------------------------------------------------------- /.github/workflows/ci-dockcross-uclibc-wrt.yml: -------------------------------------------------------------------------------- 1 | name: Dockcross Compile 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Cross compile ffead-cpp for arm uclibc openwrt 21 | run: | 22 | cd docker 23 | docker build -f DockerFile-dockcross-build . 24 | -------------------------------------------------------------------------------- /.github/workflows/ci-docker-test.yml: -------------------------------------------------------------------------------- 1 | name: Build docker image for TE (test) 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build docker image with wrk tests for ffead-cpp 21 | run: | 22 | cd docker/test 23 | chmod +x *.sh && ./build_test.sh 24 | -------------------------------------------------------------------------------- /.github/workflows/ci-emscripten-nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Nodejs and Emscripten 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on emscripten and nodejs backend 21 | run: | 22 | cd lang-server-backends/javascript/emscripten 23 | docker build -f ffead-cpp-emscripten.dockerfile . 24 | cd - 25 | cd lang-server-backends/javascript/nodejs 26 | docker build -f ffead-cpp-nodejs-http.dockerfile . 27 | -------------------------------------------------------------------------------- /.github/workflows/ci-gentoo.yml: -------------------------------------------------------------------------------- 1 | name: Gentoo 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on gentoo 21 | run: | 22 | cd docker/os-based 23 | docker build -f DockerFile-Gentoo-x64-ffead-cpp . 24 | #docker build -f DockerFile-Gentoo-x64-ffead-cpp_autoconf . 25 | -------------------------------------------------------------------------------- /.github/workflows/ci-meson.yml: -------------------------------------------------------------------------------- 1 | name: Meson build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with meson 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-meson . 22 | -------------------------------------------------------------------------------- /.github/workflows/ci-nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Nodejs + ffead-cpp 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp with nodejs backend 21 | run: | 22 | cd lang-server-backends/javascript/nodejs 23 | docker build -f ffead-cpp-nodejs-http.dockerfile . 24 | -------------------------------------------------------------------------------- /.github/workflows/ci-opensuse.yml: -------------------------------------------------------------------------------- 1 | name: Opensuse 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | # This is what will cancel the workflow 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build: 16 | runs-on: ubuntu-latest 17 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Build ffead-cpp on opensuse 21 | run: | 22 | cd docker/os-based 23 | docker build -f DockerFile-OpenSuse-x64-ffead-cpp . 24 | docker build -f DockerFile-OpenSuse-x64-ffead-cpp_autoconf . 25 | -------------------------------------------------------------------------------- /.github/workflows/ci-scons.yml: -------------------------------------------------------------------------------- 1 | name: Scons build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with scons 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-scons . 22 | -------------------------------------------------------------------------------- /.github/workflows/ci-shellb.yml: -------------------------------------------------------------------------------- 1 | name: Shellb build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with shellb 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-shellb . 22 | -------------------------------------------------------------------------------- /.github/workflows/ci-xmake.yml: -------------------------------------------------------------------------------- 1 | name: Xmake build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | # This is what will cancel the workflow 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | if: "!contains(github.event.head_commit.message, '[skip_build]')" 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build ffead-cpp with xmake 19 | run: | 20 | cd docker/os-based 21 | docker build -f DockerFile-Ubuntu-x64-ffead-cpp-xmake . 22 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "permissions", 6 | "command": "chmod +x ${workspaceFolder}/ffead-cpp-7.0-bin/ffead-cpp && chmod 700 ${workspaceFolder}/ffead-cpp-7.0-bin/resources/*.sh && chmod 700 ${workspaceFolder}/ffead-cpp-7.0-bin/rtdcf/autotools/*.sh && chmod 700 ${workspaceFolder}/ffead-cpp-7.0-bin/tests/* && chmod 700 ${workspaceFolder}/ffead-cpp-7.0-bin/rtdcf/*", 7 | "args": [], 8 | "type": "shell" 9 | }, 10 | { 11 | "type": "cmake", 12 | "label": "CMake: clean", 13 | "command": "clean", 14 | "problemMatcher": [], 15 | "detail": "CMake template clean task" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /autogen-noreconf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | echo "autogen-noreconf requested..." 5 | rm -f configure config.* aclocal* depcomp install-sh ltmain.sh libtool Makefile Makefile.in missing 6 | rm -f Makefile 7 | rm -rf autom4te.cache 8 | rm -rf src/.deps 9 | rm -rf tests/.deps 10 | rm -rf apache_mod_ffeadcpp/.deps 11 | rm -rf web/default/src/.deps 12 | rm -rf web/flexApp/src/.deps 13 | rm -rf web/oauthApp/src/.deps 14 | 15 | IS_OS_DARWIN=`uname|tr '[A-Z]' '[a-z]'|awk 'index($0,"darwin") != 0 {print "darwin"}'` 16 | if [ -z "$IS_OS_DARWIN" ]; then 17 | libtoolize --force 18 | else 19 | glibtoolize --force 20 | fi 21 | aclocal 22 | autoconf -I m4 23 | autoheader 24 | automake --add-missing -------------------------------------------------------------------------------- /clean_maclibs.sh: -------------------------------------------------------------------------------- 1 | rm -f /usr/local/lib/libffead-* 2 | rm -f /usr/local/lib/libinter.dylib 3 | rm -f /usr/local/lib/libdinter.dylib 4 | rm -f /usr/local/lib/libt1.dylib 5 | rm -f /usr/local/lib/libt2.dylib 6 | rm -f /usr/local/lib/libt3.dylib 7 | rm -f /usr/local/lib/libt4.dylib 8 | rm -f /usr/local/lib/libt5.dylib 9 | rm -f /usr/local/lib/libt6.dylib 10 | rm -f /usr/local/lib/libt7.dylib 11 | rm -f /usr/local/lib/libdefault.dylib 12 | rm -f /usr/local/lib/libflexApp.dylib 13 | rm -f /usr/local/lib/liboauthApp.dylib 14 | rm -f /usr/local/lib/libpeer-server.dylib 15 | rm -f /usr/local/lib/libmarkers.dylib 16 | -------------------------------------------------------------------------------- /docker/DockerFile-cross-android: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | RUN apt update -yqq && apt install -yqq autoconf-archive gcc g++ cmake unzip wget make android-sdk 4 | 5 | WORKDIR /tmp 6 | RUN wget -q https://dl.google.com/android/repository/android-ndk-r25-linux.zip 7 | RUN unzip -qq android-ndk-r25-linux.zip && mv android-ndk-r25 /usr/lib/android-sdk/ndk-bundle && rm -f android-ndk-r25-linux.zip 8 | 9 | RUN git clone --depth=1 https://github.com/sumeetchhetri/ffead-cpp /ffead-cpp 10 | WORKDIR /ffead-cpp 11 | COPY cross-build.sh cross-build-deps.sh build-android*.sh build-common*.sh /ffead-cpp/ 12 | RUN chmod +x cross-build-deps.sh && ./cross-build-deps.sh android /usr/lib/android-sdk/ /usr/lib/android-sdk/ndk-bundle armeabi-v7a 21 13 | RUN chmod +x cross-build.sh && ./cross-build.sh android /usr/lib/android-sdk/ /usr/lib/android-sdk/ndk-bundle armeabi-v7a 21 -------------------------------------------------------------------------------- /docker/DockerFile-cross-musl: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/musl-cross:1.0 2 | 3 | RUN git clone --depth=1 https://github.com/sumeetchhetri/ffead-cpp /ffead-cpp 4 | WORKDIR /ffead-cpp 5 | COPY files/libmemcached-build.patch files/musl-fixes.patch /ffead-cpp/ 6 | COPY cross-build-deps.sh /ffead-cpp/ 7 | RUN chmod +x cross-build-deps.sh && ./cross-build-deps.sh musl x86_64 8 | COPY cross-build.sh /ffead-cpp/ 9 | RUN chmod +x cross-build.sh && ./cross-build.sh musl x86_64 10 | -------------------------------------------------------------------------------- /docker/DockerFile-dockcross-build: -------------------------------------------------------------------------------- 1 | FROM dockcross/linux-armv5-uclibc 2 | 3 | RUN git clone --depth=1 https://github.com/sumeetchhetri/ffead-cpp /ffead-cpp 4 | WORKDIR /ffead-cpp 5 | 6 | COPY files/libmemcached-build.patch files/musl-fixes.patch /ffead-cpp/ 7 | COPY dockcross-build-deps.sh /ffead-cpp/ 8 | RUN chmod +x dockcross-build-deps.sh && ./dockcross-build-deps.sh arm-unknown-linux-uclibcgnueabi 9 | COPY dockcross-build.sh /ffead-cpp/ 10 | RUN chmod +x dockcross-build.sh && ./dockcross-build.sh arm-unknown-linux-uclibcgnueabi 11 | -------------------------------------------------------------------------------- /docker/all/base/ffead-cpp-deps.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest 2 | LABEL maintainer="Sumeet Chhetri" 3 | LABEL version="7.0" 4 | LABEL description="ffead-cpp docker image with backend dependencies" 5 | 6 | ENV IROOT=/installs 7 | ENV DEBUG=off 8 | 9 | ENV DEBIAN_FRONTEND noninteractive 10 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 11 | 12 | RUN mkdir /installs 13 | 14 | WORKDIR ${IROOT} 15 | 16 | COPY install_ffead-cpp-dependencies.sh ${IROOT}/ 17 | RUN chmod 755 ${IROOT}/install_ffead-cpp-dependencies.sh 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | COPY install_ffead-cpp-backends.sh ${IROOT}/ 21 | RUN chmod 755 ${IROOT}/install_ffead-cpp-backends.sh 22 | RUN ./install_ffead-cpp-backends.sh 23 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-mongo-raw.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 emb mongo-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-mysql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | ENV ODBCINI=/installs/odbc.ini 5 | ENV ODBCSYSINI=/installs/ 6 | 7 | WORKDIR / 8 | 9 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb mysql 10 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool-profiled-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool-profiled-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-pool.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-profiled-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-profiled-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async-qw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async-qw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async-qw memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async-qw memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool-profiled-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async-qw memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool-profiled-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async-qw memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-pool-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async-qw memory nobatch pool 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-pool.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async-qw memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-profiled-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw-async-qw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-profiled-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw-async-qw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async-qw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async-qw.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async-qw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-profiled-iou.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-io_uring emb postgresql-raw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-profiled-pev.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-picoev emb postgresql-raw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw memory 11 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql-raw.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | ENV ODBCINI=/installs/odbc.ini 5 | ENV ODBCSYSINI=/installs/ 6 | 7 | WORKDIR / 8 | 9 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql redis 10 | -------------------------------------------------------------------------------- /docker/all/ffead-cpp.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 emb mongo redis 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-apache.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 apache mongo 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-cinatra.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 cinatra 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-drogon.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 drogon 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-java-firenio.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-java-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 java-firenio 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-java-rapidoid.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-java-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 java-rapidoid 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-java-wizzardo-http.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-java-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 java-wizzardo-http 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-lithium.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 lithium 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-nginx.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 nginx mongo 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-rust-actix.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-rust-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 rust-actix 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-rust-hyper.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-rust-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 rust-hyper 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-rust-rocket.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-rust-rocket-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 rust-rocket 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-rust-thruster.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-rust-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 rust-thruster 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-seastar.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-seastar-base:7.0 2 | 3 | WORKDIR / 4 | 5 | CMD ./run_ffead.sh ffead-cpp-7.0 seastar 6 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov-raw-async-pool-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-async-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov-raw-async-pool.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async memory nobatch pool 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov-raw-async-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-async-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov-raw-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov-raw-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-picov.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-all 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/all/lang/ffead-cpp-v-vweb.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-all 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0 v-vweb 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-p10-b.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | RUN sed -i 's|router="TeBkUmLpqAsyncRouter"|router="TeBkUmLpqAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/application.xml 8 | RUN echo "dbpoolsize=10" > ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/app.prop 9 | RUN sed -i 's|router="TeBkUmLpqQwAsyncRouter"|router="TeBkUmLpqQwAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/application.xml 10 | RUN echo "dbpoolsize=10" > ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/app.prop 11 | 12 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-p2-b.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | RUN sed -i 's|router="TeBkUmLpqAsyncRouter"|router="TeBkUmLpqAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/application.xml 8 | RUN echo "dbpoolsize=2" > ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/app.prop 9 | RUN sed -i 's|router="TeBkUmLpqQwAsyncRouter"|router="TeBkUmLpqQwAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/application.xml 10 | RUN echo "dbpoolsize=2" > ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/app.prop 11 | 12 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-p3-b.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | RUN sed -i 's|router="TeBkUmLpqAsyncRouter"|router="TeBkUmLpqAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/application.xml 8 | RUN echo "dbpoolsize=3" > ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/app.prop 9 | RUN sed -i 's|router="TeBkUmLpqQwAsyncRouter"|router="TeBkUmLpqQwAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/application.xml 10 | RUN echo "dbpoolsize=3" > ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/app.prop 11 | 12 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-p4-b.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | RUN sed -i 's|router="TeBkUmLpqAsyncRouter"|router="TeBkUmLpqAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/application.xml 8 | RUN echo "dbpoolsize=4" > ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/app.prop 9 | RUN sed -i 's|router="TeBkUmLpqQwAsyncRouter"|router="TeBkUmLpqQwAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/application.xml 10 | RUN echo "dbpoolsize=4" > ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/app.prop 11 | 12 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-async-clibpqb-pool-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-pool-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory batch 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-async-clibpqb-profiled-2.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-profiled-base-2:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory batch 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-async-clibpqb-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory batch 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-async-clibpqb-twoconn-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | RUN sed -i 's|router="TeBkUmLpqAsyncRouter"|router="TeBkUmLpqAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/application.xml 8 | RUN echo "dbpoolsize=2" > ${IROOT}/ffead-cpp-7.0-sql/web/t4/config/app.prop 9 | RUN sed -i 's|router="TeBkUmLpqQwAsyncRouter"|router="TeBkUmLpqQwAsyncRouter" properties="app.prop"|g' ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/application.xml 10 | RUN echo "dbpoolsize=2" > ${IROOT}/ffead-cpp-7.0-sql/web/t5/config/app.prop 11 | 12 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory batch 13 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-async-qw-clibpqb-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-clibpqb-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async-qw memory batch 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-postgresql-raw-clibpqb-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-clibpqb-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw memory batch 8 | -------------------------------------------------------------------------------- /docker/all/libpq-batch/ffead-cpp-v-picov-raw-clibpqb-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-clibpqb-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw memory batch 8 | -------------------------------------------------------------------------------- /docker/all/postgresql/60-postgresql-shm.conf: -------------------------------------------------------------------------------- 1 | kernel.shmmax=2147483648 2 | kernel.shmall=2097152 3 | -------------------------------------------------------------------------------- /docker/all/postgresql/create-postgres-database.sql: -------------------------------------------------------------------------------- 1 | CREATE USER benchmarkdbuser WITH PASSWORD 'benchmarkdbpass'; 2 | 3 | ALTER USER benchmarkdbuser WITH SUPERUSER; 4 | 5 | CREATE DATABASE hello_world WITH TEMPLATE = template0 ENCODING 'UTF8'; 6 | -------------------------------------------------------------------------------- /docker/all/postgresql/pgdg.list: -------------------------------------------------------------------------------- 1 | deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 2 | deb-src http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 3 | -------------------------------------------------------------------------------- /docker/all/scripts/install-mimalloc-snmalloc.sh: -------------------------------------------------------------------------------- 1 | apt install -y clang-format-11 ninja-build 2 | 3 | wget -q https://github.com/microsoft/mimalloc/archive/v2.0.2.tar.gz 4 | tar xf mimalloc-2.0.2.tar.gz 5 | cd mimalloc-2.0.2 6 | mkdir -p out/release 7 | cmake ../.. -DCMAKE_BUILD_TYPE=Release 8 | make && make install 9 | cd $IROOT 10 | rm -rf mimalloc-2.0.2 11 | 12 | wget -q https://github.com/microsoft/snmalloc/archive/0.5.3.tar.gz 13 | tar xf snmalloc-0.5.3.tar.gz 14 | cd snmalloc-0.5.3 15 | mkdir build 16 | cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release 17 | ninja 18 | cd $IROOT 19 | rm -rf snmalloc-0.5.3 -------------------------------------------------------------------------------- /docker/all/scripts/install_ffead-cpp-nginx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd $IROOT 4 | 5 | cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginx-ffead-mongo/conf/ 6 | sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-7.0'|g' ${IROOT}/nginx-ffead-mongo/conf/nginx.conf 7 | cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginx-ffead-sql/conf/ 8 | sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-7.0-sql'|g' ${IROOT}/nginx-ffead-sql/conf/nginx.conf 9 | -------------------------------------------------------------------------------- /docker/all/scripts/julia_curl_fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | JUL_VER=`julia -version|cut -d" " -f 3` 4 | cp /usr/lib/x86_64-linux-gnu/libcurl.so* /root/.julia/juliaup/julia-${JUL_VER}+0.x64.linux.gnu/lib/julia/ -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-apache-mongo-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-apache-mongo:latest 8 | container_name: ffead-cpp-apache-mongo 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mongo-for-ffeadcpp:latest 17 | container_name: mongodb 18 | ports: 19 | - "27017:27017" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-apache-mysql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-mysql-apache:latest 8 | container_name: ffead-cpp-mysql-apache 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mysql-for-ffeadcpp:latest 17 | container_name: mysql 18 | ports: 19 | - "3306:3306" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-apache-postgresql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-postgresql-apache:latest 8 | container_name: ffead-cpp-postgresql-apache 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: postgresql-for-ffeadcpp:latest 17 | container_name: postgresql 18 | ports: 19 | - "5432:5432" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-mongo-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-mongo:latest 8 | container_name: ffead-cpp-mongo 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mongo-for-ffeadcpp:latest 17 | container_name: mongodb 18 | ports: 19 | - "27017:27017" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-mysql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-mysql:latest 8 | container_name: ffead-cpp-mysql 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mysql-for-ffeadcpp:latest 17 | container_name: mysql 18 | ports: 19 | - "3306:3306" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-nginx-mongo-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-mongo-nginx:latest 8 | container_name: ffead-cpp-mongo-nginx 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mongo-for-ffeadcpp:latest 17 | container_name: mongodb 18 | ports: 19 | - "27017:27017" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-nginx-mysql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-mysql-nginx:latest 8 | container_name: ffead-cpp-mysql-nginx 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: mysql-for-ffeadcpp:latest 17 | container_name: mysql 18 | ports: 19 | - "3306:3306" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-nginx-postgresql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-postgresql-nginx:latest 8 | container_name: ffead-cpp-postgresql-nginx 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: postgresql-for-ffeadcpp:latest 17 | container_name: postgresql 18 | ports: 19 | - "5432:5432" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp-postgresql-compose/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | ffead-cpp: 5 | depends_on: 6 | - db 7 | image: ffead-cpp-postgresql:latest 8 | container_name: ffead-cpp-postgresql 9 | restart: always 10 | ports: 11 | - "8080:8080" 12 | networks: 13 | - backend 14 | 15 | db: 16 | image: postgresql-for-ffeadcpp:latest 17 | container_name: postgresql 18 | ports: 19 | - "5432:5432" 20 | networks: 21 | - backend 22 | 23 | networks: 24 | backend: 25 | driver: "bridge" -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-apache-memcached.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh apache memcached 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-apache-mongo.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh apache mongo 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-apache-mysql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh apache mysql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-apache-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh apache postgresql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-apache-redis.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh apache redis 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-memcached.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh emb memcached 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-mysql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh emb mysql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-nginx-memcached.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh nginx memcached 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-nginx-mongo.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh nginx mongo 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-nginx-mysql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh nginx mysql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-nginx-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh nginx postgresql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-nginx-redis.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh nginx redis 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework-forsql.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh emb postgresql 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp-redis.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh emb redis 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/ffead-cpp.dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:latest 2 | 3 | ENV IROOT=/installs 4 | ENV FFEAD_CPP_PATH=${IROOT}/ffead-cpp-7.0 5 | ENV PATH=${FFEAD_CPP_PATH}:${PATH} 6 | ENV TROOT=/ 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 10 | 11 | RUN mkdir /installs 12 | 13 | WORKDIR / 14 | 15 | COPY *.sh ./ 16 | RUN chmod 755 *.sh 17 | 18 | RUN ./install_ffead-cpp-dependencies.sh 19 | 20 | WORKDIR / 21 | 22 | RUN ./install_ffead-cpp-framework.sh 23 | 24 | WORKDIR / 25 | 26 | RUN ./install_ffead-cpp-httpd.sh 27 | 28 | WORKDIR / 29 | 30 | RUN ./install_ffead-cpp-nginx.sh 31 | 32 | WORKDIR / 33 | 34 | CMD ./run_ffead.sh emb mongo 35 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/install_ffead-cpp-nginx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd $IROOT 4 | 5 | #wget -q http://nginx.org/download/nginx-1.19.1.tar.gz 6 | #tar xf nginx-1.19.1.tar.gz 7 | 8 | #cd $IROOT/nginx-1.19.1 9 | 10 | #./configure \ 11 | # --prefix=${IROOT}/nginxfc \ 12 | # --with-ld-opt="-lstdc++ -L/usr/local/lib -L${IROOT}/ffead-cpp-7.0/lib -L${IROOT} -L${IROOT}/lib" \ 13 | # --add-module="${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp" \ 14 | # --with-cc-opt="-I${IROOT}/ffead-cpp-7.0/include -I${IROOT}/include -I${IROOT}/#include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -w -fpermissive -std=gnu++11" 15 | #make 16 | #make install 17 | 18 | cp ${IROOT}/ffead-cpp-src/modules/nginx_mod_ffeadcpp/nginx.conf ${IROOT}/nginxfc/conf/ 19 | sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-7.0'|g' ${IROOT}/nginxfc/conf/nginx.conf 20 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/ffead-cpp/install_ffead-cpp-openlitespeed.sh: -------------------------------------------------------------------------------- 1 | wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | bash 2 | apt-get install openlitespeed 3 | apt-get install lsphp73 4 | ln -sf /usr/local/lsws/lsphp73/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp5 -------------------------------------------------------------------------------- /docker/compose-techempower-tests/mongodb/mongodb.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | 3 | COPY ./ ./ 4 | 5 | RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 6 | RUN echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.6.list 7 | RUN apt-get -y update > /dev/null 8 | RUN apt-get -y install mongodb-org > /dev/null 9 | 10 | RUN mkdir -p /data/db 11 | RUN chmod 777 /data/db 12 | 13 | RUN mongod --fork --logpath /var/log/mongodb.log --bind_ip_all && sleep 10 && mongo < create.js && sleep 10 14 | 15 | CMD ["mongod", "--bind_ip_all"] 16 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/mysql/mysql.list: -------------------------------------------------------------------------------- 1 | # You may comment out entries below, but any other modifications may be lost. 2 | # Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications. 3 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config 4 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0 5 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools 6 | #deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview 7 | deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0 8 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/postgres/60-postgresql-shm.conf: -------------------------------------------------------------------------------- 1 | kernel.shmmax=2147483648 2 | kernel.shmall=2097152 3 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/postgres/create-postgres-database.sql: -------------------------------------------------------------------------------- 1 | CREATE USER benchmarkdbuser WITH PASSWORD 'benchmarkdbpass'; 2 | 3 | ALTER USER benchmarkdbuser WITH SUPERUSER; 4 | 5 | CREATE DATABASE hello_world WITH TEMPLATE = template0 ENCODING 'UTF8'; 6 | -------------------------------------------------------------------------------- /docker/compose-techempower-tests/postgres/pgdg.list: -------------------------------------------------------------------------------- 1 | deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 2 | deb-src http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 3 | -------------------------------------------------------------------------------- /docker/ffead-cpp-build-validate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | git clone https://github.com/TechEmpower/FrameworkBenchmarks 4 | cd FrameworkBenchmarks 5 | ./tfb --mode verify --test-dir C++/ffead-cpp 6 | -------------------------------------------------------------------------------- /docker/files/bson-prelude.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #if !defined(BSON_INSIDE) && !defined(BSON_COMPILATION) 18 | #error "Only can be included directly." 19 | #endif 20 | -------------------------------------------------------------------------------- /docker/files/mingw64-dlfcn.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/docker/files/mingw64-dlfcn.zip -------------------------------------------------------------------------------- /docker/files/mingw64-unixodbc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/docker/files/mingw64-unixodbc.zip -------------------------------------------------------------------------------- /docker/os-based/DockerFile-Gentoo-x64-base: -------------------------------------------------------------------------------- 1 | FROM gentoo/stage3 2 | 3 | RUN emerge-webrsync 4 | RUN emerge -1 --unmerge dev-python/certifi:0 dev-python/setuptools:0 5 | RUN emerge dev-build/autoconf-archive dev-build/autoconf dev-build/automake dev-build/libtool dev-db/postgresql dev-db/unixODBC curl libmemcached cmake wget netcat app-arch/tar app-arch/gzip sys-libs/zlib 6 | -------------------------------------------------------------------------------- /docker/os-based/build_all.sh: -------------------------------------------------------------------------------- 1 | docker build --progress plain -f DockerFile-Gentoo-x64-base -t sumeetchhetri/gentoo-stage3:1.1 . 2 | docker push sumeetchhetri/gentoo-stage3:1.1 3 | 4 | docker build -f DockerFile-ArchLinux-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-archlinux . 5 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-ubuntubionic . 6 | docker build -f DockerFile-OpenSuseTumbleweed-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-opensusetw . 7 | docker build -f DockerFile-Centos7-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-centos7 . 8 | docker build -f DockerFile-Gentoo-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-gentoo . -------------------------------------------------------------------------------- /docker/te/ffead-cpp-postgresql-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-postgresql-pipelined-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory batch 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-postgresql-wire-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-wire-async memory 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-postgresql-wire.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-wire memory 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-v-picov-postgresql-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async none 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-v-picov-postgresql-pipelined-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async none batch 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-v-picov-postgresql-wire-async.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-wire-async none 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-v-picov-postgresql-wire.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-wire none 8 | -------------------------------------------------------------------------------- /docker/te/ffead-cpp-v-picov-postgresql.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-base:7.0-te 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw none 8 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-postgresql-raw-async-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw-async memory 11 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-postgresql-raw-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-raw-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-raw memory 11 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-postgresql-wire-async-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-wire-async-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-wire-async memory 11 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-postgresql-wire-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-sql-wire-profiled-base:7.0 2 | 3 | RUN apt remove -yqq postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} gnupg lsb-release && apt autoremove -yqq 4 | RUN rm -rf /ssd/postgresql && rm -rf /tmp/postgresql && rm -rf /tmp/wrk /usr/local/bin/wrk 5 | 6 | ENV IROOT=/installs 7 | 8 | WORKDIR / 9 | 10 | CMD ./run_ffead.sh ffead-cpp-7.0-sql emb postgresql-wire memory 11 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-v-picov-raw-async-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-async-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw-async memory 8 | -------------------------------------------------------------------------------- /docker/te/profiled/ffead-cpp-v-picov-raw-profiled.dockerfile: -------------------------------------------------------------------------------- 1 | FROM sumeetchhetri/ffead-cpp-v-picov-raw-profiled-base:7.0 2 | 3 | ENV IROOT=/installs 4 | 5 | WORKDIR / 6 | 7 | CMD ./run_ffead.sh ffead-cpp-7.0-sql v-picov postgresql-raw memory 8 | -------------------------------------------------------------------------------- /docker/test/build_local.sh: -------------------------------------------------------------------------------- 1 | rm -rf src web rtdcf script CMakeLists.txt 2 | cp -f ../../CMakeLists.txt . 3 | cp -rf ../../src . 4 | cp -rf ../../web . 5 | cp -rf ../../rtdcf . 6 | cp -rf ../../script . 7 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp-fortest_localhost -t ffeadcpptest_localhost:1.0 --progress plain . 8 | rm -rf src web rtdcf script CMakeLists.txt 9 | -------------------------------------------------------------------------------- /docker/test/build_profile.sh: -------------------------------------------------------------------------------- 1 | rm -rf src web rtdcf CMakeLists.txt 2 | cp -f ../../CMakeLists.txt . 3 | cp -rf ../../src . 4 | cp -rf ../../web . 5 | cp -rf ../../rtdcf . 6 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp-forprofile -t ffeadcppprofile:1.0 . 7 | rm -rf src web rtdcf CMakeLists.txt 8 | -------------------------------------------------------------------------------- /docker/test/build_test-nb.sh: -------------------------------------------------------------------------------- 1 | rm -rf src web rtdcf script CMakeLists.txt 2 | cp -f ../../CMakeLists.txt . 3 | cp -rf ../../src . 4 | cp -rf ../../web . 5 | cp -rf ../../rtdcf . 6 | cp -rf ../../script . 7 | cp -rf ../../lang-server-backends/v/pico.v . 8 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp-fortest-nb -t ffeadcpptestnb:1.0 --progress plain . 9 | rm -rf src web rtdcf script CMakeLists.txt 10 | -------------------------------------------------------------------------------- /docker/test/build_test.sh: -------------------------------------------------------------------------------- 1 | rm -rf src web rtdcf script CMakeLists.txt 2 | cp -f ../../CMakeLists.txt . 3 | cp -rf ../../src . 4 | cp -rf ../../web . 5 | cp -rf ../../rtdcf . 6 | cp -rf ../../script . 7 | cp -rf ../../resources . 8 | cp -rf ../../lang-server-backends/v/pico.v . 9 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp-fortest -t ffeadcpptest:1.0 --progress plain . 10 | rm -rf src web rtdcf script resources CMakeLists.txt 11 | -------------------------------------------------------------------------------- /docker/test/login.sh: -------------------------------------------------------------------------------- 1 | CONT_ID=`docker ps |cut -d' ' -f1 |tail -n 1` 2 | docker exec -it ${CONT_ID} bash 3 | -------------------------------------------------------------------------------- /docker/test/mysql/mysql.list: -------------------------------------------------------------------------------- 1 | # You may comment out entries below, but any other modifications may be lost. 2 | # Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications. 3 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config 4 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0 5 | deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools 6 | #deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview 7 | deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0 8 | -------------------------------------------------------------------------------- /docker/test/pico.v/build-debug.sh: -------------------------------------------------------------------------------- 1 | v -enable-globals -cg -showcc -cflags '-std=gnu11 -Wall -flto' main.v -------------------------------------------------------------------------------- /docker/test/pico.v/build.sh: -------------------------------------------------------------------------------- 1 | v -prod -cflags '-std=gnu11 -Wall -O3 -march=native -mtune=native -no-pie -flto' main.v -------------------------------------------------------------------------------- /docker/test/pico.v/ffead-cpp-util.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void* fc_memcpy(void* ptr, char* c, size_t len) { 4 | memcpy(ptr, (const void *)c, len); 5 | ptr += len; 6 | return ptr; 7 | } 8 | 9 | const char* get_date_2() { 10 | time_t t; 11 | struct tm tm; 12 | static const char *days[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 13 | static const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; 14 | static __thread char date[52] = "Date: Thu, 01 Jan 1970 00:00:00 GMT\r\nServer: fcpv\r\n"; 15 | 16 | time(&t); 17 | gmtime_r(&t, &tm); 18 | strftime(date, 51, "Date: ---, %d --- %Y %H:%M:%S GMT\r\nServer: fcpv\r\n", &tm); 19 | memcpy(date + 6, days[tm.tm_wday], 3); 20 | memcpy(date + 14, months[tm.tm_mon], 3); 21 | 22 | return date; 23 | } 24 | -------------------------------------------------------------------------------- /docker/test/pico.v/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in $(seq 0 $(($(nproc --all)-1))); do 4 | taskset -c $i ./main --server_dir=/root/ffead-cpp-7.0 --server_port=8080 & 5 | done 6 | 7 | wait 8 | -------------------------------------------------------------------------------- /docker/test/pipeline.lua: -------------------------------------------------------------------------------- 1 | init = function(args) 2 | local r = {} 3 | local depth = tonumber(args[1]) or 1 4 | for i=1,depth do 5 | r[i] = wrk.format() 6 | end 7 | req = table.concat(r) 8 | end 9 | 10 | request = function() 11 | return req 12 | end -------------------------------------------------------------------------------- /docker/test/postgresql/60-postgresql-shm.conf: -------------------------------------------------------------------------------- 1 | kernel.shmmax=2147483648 2 | kernel.shmall=2097152 3 | -------------------------------------------------------------------------------- /docker/test/postgresql/create-postgres-database.sql: -------------------------------------------------------------------------------- 1 | CREATE USER benchmarkdbuser WITH PASSWORD 'benchmarkdbpass'; 2 | 3 | ALTER USER benchmarkdbuser WITH SUPERUSER; 4 | 5 | CREATE DATABASE hello_world WITH TEMPLATE = template0 ENCODING 'UTF8'; 6 | -------------------------------------------------------------------------------- /docker/test/postgresql/pgdg.list: -------------------------------------------------------------------------------- 1 | deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 2 | deb-src http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 3 | -------------------------------------------------------------------------------- /docker/test/run.sh: -------------------------------------------------------------------------------- 1 | service postgresql start 2 | #mysqld > /var/log/mysql/mysqld.log 2>&1 & 3 | #mongod --fork --logpath /var/log/mongodb.log --bind_ip_all 4 | sed -i '/^bind/s/bind.*/bind 0.0.0.0/' /etc/redis/redis.conf 5 | service redis-server start 6 | service memcached start -------------------------------------------------------------------------------- /docker/test/run_l.sh: -------------------------------------------------------------------------------- 1 | sed -i '/^bind/s/bind.*/bind 0.0.0.0/' /etc/redis/redis.conf 2 | service redis-server start 3 | service memcached start -------------------------------------------------------------------------------- /docker/test/test-nb.sh: -------------------------------------------------------------------------------- 1 | docker run --rm -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -p 9781:9781 -p 9782:9782 -p 9783:9783 -p 9784:9784 -p 9785:9785 ffeadcpptestnb:1.0 -------------------------------------------------------------------------------- /docker/test/test.sh: -------------------------------------------------------------------------------- 1 | docker run --rm -it --ulimit memlock=102400000:102400000 --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -p 9784:9784 -p 9785:9785 -p 9786:9786 -p 9787:9787 ffeadcpptest:1.0 -------------------------------------------------------------------------------- /docker/test/wrk/pipeline.lua: -------------------------------------------------------------------------------- 1 | init = function(args) 2 | local r = {} 3 | local depth = tonumber(args[1]) or 1 4 | for i=1,depth do 5 | r[i] = wrk.format() 6 | end 7 | req = table.concat(r) 8 | end 9 | 10 | request = function() 11 | return req 12 | end -------------------------------------------------------------------------------- /docker/webrtc-peerjs/build_all.sh: -------------------------------------------------------------------------------- 1 | docker build -f DockerFile-UbuntuBionic-x64-ffead-cpp --tag sumeetchhetri/ffead-cpp:ffead-cpp-ubuntubionic-webrtc . 2 | -------------------------------------------------------------------------------- /docker/webrtc-peerjs/install_ffead-cpp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #From https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/C%2B%2B/ulib/setup_json.sh 4 | MAX_THREADS=$(( 3 * `nproc` / 2 )) 5 | WRIT_THREADS=$(( $MAX_THREADS / 3 )) 6 | SERV_THREADS=$(( $MAX_THREADS - $WRIT_THREADS )) 7 | 8 | mv /tmp/ffead-cpp-7.0-bin /opt/ffead-cpp-7.0 9 | chmod +x /opt/ffead-cpp-7.0/*.sh 10 | 11 | cd /opt/ffead-cpp-7.0 12 | sed -i 's|THRD_PSIZ=6|THRD_PSIZ='${SERV_THREADS}'|g' resources/server.prop 13 | sed -i 's|W_THRD_PSIZ=2|W_THRD_PSIZ='${WRIT_THREADS}'|g' resources/server.prop 14 | 15 | nohup bash -c "./server.sh > ffead.log &" 16 | while ! nc -z localhost 8080; do 17 | echo "Waiting for ffead-cpp to launch on port 8080..." 18 | sleep 5 19 | done 20 | echo "ffead-cpp launched" 21 | rm -f serv.ctrl 22 | pkill ffead-cpp 23 | -------------------------------------------------------------------------------- /ffead-cpp-interface-test-lib/.gitignore: -------------------------------------------------------------------------------- 1 | /Debug/ 2 | -------------------------------------------------------------------------------- /ffead-cpp-interface-test-lib/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | USER_OBJS := 6 | 7 | LIBS := 8 | 9 | -------------------------------------------------------------------------------- /ffead-cpp-interface-test-lib/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C_UPPER_SRCS := 6 | CXX_SRCS := 7 | C++_SRCS := 8 | OBJ_SRCS := 9 | CC_SRCS := 10 | ASM_SRCS := 11 | C_SRCS := 12 | CPP_SRCS := 13 | O_SRCS := 14 | S_UPPER_SRCS := 15 | LIBRARIES := 16 | CC_DEPS := 17 | C++_DEPS := 18 | OBJS := 19 | C_UPPER_DEPS := 20 | CXX_DEPS := 21 | C_DEPS := 22 | CPP_DEPS := 23 | 24 | # Every subdirectory with source files must be described here 25 | SUBDIRS := \ 26 | src \ 27 | 28 | -------------------------------------------------------------------------------- /ffead-cpp-interface-test-lib/cmds: -------------------------------------------------------------------------------- 1 | g++ -c -o c_interface.o c_interface.c -fPIC 2 | g++ -shared -o libffead-framework.so c_interface.o 3 | #For crystal h2o 4 | CRYSTAL_PATH=lib:/usr/share/crystal/src crystal build --prelude=empty --no-debug --release -Dgc_none -Dfiber_none -Dexcept_none -Dhash_none -Dtime_none -Dregex_none -Dextreme h2o-evloop-ffead-cpp.cr --link-flags="-Wl,-s $PWD/h2o.o -DH2O_USE_LIBUV=0" -o h2o-evloop-ffead-cpp.out -------------------------------------------------------------------------------- /ffead_gen.help: -------------------------------------------------------------------------------- 1 | echo "*****************************************************************************" 2 | ffead-cpp Automated application generator utility 3 | This Utility helps create sample application skeleton for ffead-cpp framework 4 | Usage: 5 | ./ffead_gen.sh 6 | Enter Application Name: test 7 | Enter Library dependencies: -llib1 -llib2 -llib3 8 | (Or alternatively lib1 lib2 lib3) 9 | The generator will now create application directories and makefile, 10 | configure.ac will also be modified, Do you want to proceed (y/n): y 11 | echo "*****************************************************************************" 12 | -------------------------------------------------------------------------------- /ffead_gen_autoconf.help: -------------------------------------------------------------------------------- 1 | echo "*****************************************************************************" 2 | ffead-cpp Automated application generator utility 3 | This Utility helps create sample application skeleton for ffead-cpp framework 4 | Usage: 5 | ./ffead_gen.sh 6 | Enter Application Name: test 7 | Enter Library dependencies: -llib1 -llib2 -llib3 8 | (Or alternatively lib1 lib2 lib3) 9 | The generator will now create application directories and makefile, 10 | configure.ac will also be modified, Do you want to proceed (y/n): y 11 | echo "*****************************************************************************" 12 | -------------------------------------------------------------------------------- /lang-server-backends/c++/seastar/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd ${IROOT}/lang-server-backends/c++/seastar 4 | #./ffead-cpp-seastar --port=8080 --address=0.0.0.0 --fcpdir=${FFEAD_CPP_PATH} -c$(nproc) --network-stack native 5 | ./ffead-cpp-seastar --port=8080 --address=0.0.0.0 --fcpdir=${FFEAD_CPP_PATH} -c$(nproc) -------------------------------------------------------------------------------- /lang-server-backends/c/libreactor/Makefile: -------------------------------------------------------------------------------- 1 | PROG = libreactor-ffead-cpp 2 | CFLAGS = -std=gnu11 -Wall -Wunused-result -Wextra -Wpedantic -O3 3 | LDFLAGS = -pthread 4 | LDADD = -lreactor -ldynamic -flto -lffead-framework 5 | 6 | SRCS=$(wildcard *.c) 7 | OBJS=$(SRCS:.c=.o) 8 | 9 | $(PROG): $(OBJS) 10 | $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) $(LDADD) 11 | 12 | clean: 13 | rm -f $(PROG) $(OBJS) -------------------------------------------------------------------------------- /lang-server-backends/c/libreactor/build.sh: -------------------------------------------------------------------------------- 1 | apt-get install -y build-essential libjansson-dev wget 2 | wget https://github.com/fredrikwidlund/libdynamic/releases/download/v1.3.0/libdynamic-1.3.0.tar.gz 3 | tar fvxz libdynamic-1.3.0.tar.gz 4 | cd libdynamic-1.3.0 5 | ./configure --prefix=/usr AR=gcc-ar NM=gcc-nm RANLIB=gcc-ranlib 6 | make install 7 | cd .. 8 | wget https://github.com/fredrikwidlund/libreactor/releases/download/v1.0.1/libreactor-1.0.1.tar.gz 9 | tar fvxz libreactor-1.0.1.tar.gz 10 | cd libreactor-1.0.1 11 | ./configure --prefix=/usr AR=gcc-ar NM=gcc-nm RANLIB=gcc-ranlib 12 | make install 13 | cd .. 14 | rm -rf libdynamic-1.3.0* libreactor-1.0.1* 15 | make -------------------------------------------------------------------------------- /lang-server-backends/c/lsquic/install: -------------------------------------------------------------------------------- 1 | cd /tmp 2 | git clone https://boringssl.googlesource.com/boringssl 3 | cd boringssl 4 | git checkout 251b5169fd44345f455438312ec4e18ae07fd58c 5 | cmake -DCMAKE_BUILD_TYPE=Release . && make 6 | cd /tmp && mv boringssl /usr/local/ 7 | git clone https://github.com/litespeedtech/lsquic.git 8 | cd lsquic 9 | git submodule init 10 | git submodule update 11 | cmake -GNinja -DBORINGSSL_DIR=/usr/local/boringssl -DLSQUIC_SHARED_LIB=1 -DLSQUIC_BIN=1 . 12 | ninja install 13 | #TODO -------------------------------------------------------------------------------- /lang-server-backends/crystal/crystal/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for i in $(seq 1 $(nproc --all)); do 4 | ./crystal-ffead-cpp.out --ffead-cpp-dir=/root/ffead-cpp-7.0 --to=8080 & 5 | done 6 | 7 | wait 8 | -------------------------------------------------------------------------------- /lang-server-backends/crystal/h2o.cr/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in $(seq 1 $(nproc --all)); do 4 | ./h2o-evloop-ffead-cpp.out & 5 | done 6 | 7 | wait 8 | -------------------------------------------------------------------------------- /lang-server-backends/crystal/h2o.cr/shard.yml: -------------------------------------------------------------------------------- 1 | name: crystal-h2o 2 | version: 0.0.1 3 | 4 | license: MIT 5 | 6 | crystal: 0.26.1 7 | 8 | dependencies: 9 | h2o: 10 | github: s-you/h2o.cr 11 | uv: 12 | github: s-you/uv.cr 13 | reset: 14 | github: s-you/reset.cr 15 | branch: h2o 16 | -------------------------------------------------------------------------------- /lang-server-backends/d/hunt/dub.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hunt-minihttp", 3 | "targetType": "executable", 4 | "description": "A mini http server powered by Hunt.", 5 | "copyright": "Copyright (C) 2017-2020, HuntLabs", 6 | "homepage": "https://www.huntlabs.net", 7 | "license": "Apache-2.0", 8 | "dependencies": { 9 | "hunt": "~>1.5.0-beta.3", 10 | "std_data_json": "~>0.18.2" 11 | }, 12 | "configurations": [{ 13 | "name": "minihttp", 14 | "sourcePaths": ["pico"], 15 | "libs-posix": [ 16 | "ffead-framework", 17 | "ffead-modules" 18 | ], 19 | "lflags-posix": [ 20 | "-L/usr/local/lib" 21 | ], 22 | "versions": [ 23 | "MINIHTTP" 24 | ] 25 | }] 26 | } -------------------------------------------------------------------------------- /lang-server-backends/d/hunt/dub.selections.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileVersion": 1, 3 | "versions": { 4 | "hunt": "1.5.0", 5 | "std_data_json": "0.18.5", 6 | "taggedalgebraic": "0.11.18" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lang-server-backends/d/hunt/hunt.dockerfile: -------------------------------------------------------------------------------- 1 | FROM dlangchina/dlang-ldc:latest 2 | 3 | ADD ./ /hunt 4 | WORKDIR /hunt 5 | 6 | RUN apt-get update -y 7 | RUN apt-get install -y --no-install-recommends make 8 | RUN apt-get install -y --no-install-recommends git 9 | RUN apt-get install -yqq libpq-dev libsqlite3-dev default-libmysqlclient-dev zlib1g-dev 10 | RUN rm -rf /var/lib/apt/lists/* && rm -rf /var/cache/apt/* 11 | 12 | RUN dub upgrade --verbose 13 | RUN dub build --build=release --arch=x86_64 --compiler=ldc2 -c=minihttp -f 14 | 15 | CMD ["./hunt-minihttp"] 16 | 17 | #source ~/dlang/ldc-1.23.0/activate 18 | #source ~/dlang/dmd-2.094.0/activate -------------------------------------------------------------------------------- /lang-server-backends/go/atreugo/Makefile: -------------------------------------------------------------------------------- 1 | atruego-ffead-cpp: clean 2 | go mod download 3 | go build -ldflags="-s -w" -o atruego-ffead-cpp . 4 | 5 | clean: 6 | rm -f atruego-ffead-cpp -------------------------------------------------------------------------------- /lang-server-backends/go/atreugo/go.mod: -------------------------------------------------------------------------------- 1 | module atreugo/src 2 | 3 | go 1.14 4 | 5 | require github.com/savsgio/atreugo/v11 v11.9.5 6 | -------------------------------------------------------------------------------- /lang-server-backends/go/atreugo/run.sh: -------------------------------------------------------------------------------- 1 | ./atruego-ffead-cpp -server_dir /root/ffead-cpp-7.0 -bind :8080 -prefork -------------------------------------------------------------------------------- /lang-server-backends/go/fasthttp/Makefile: -------------------------------------------------------------------------------- 1 | fasthttp-ffead-cpp: clean 2 | go mod download 3 | go build -ldflags="-s -w" -o fasthttp-ffead-cpp . 4 | 5 | #fasthttp-ffead-cpp: clean 6 | # go get -u github.com/valyala/fasthttp 7 | # go get -u github.com/valyala/fasthttp/prefork 8 | # go build -ldflags="-s -w" -o fasthttp-ffead-cpp . 9 | 10 | clean: 11 | rm -f fasthttp-ffead-cpp -------------------------------------------------------------------------------- /lang-server-backends/go/fasthttp/go.mod: -------------------------------------------------------------------------------- 1 | module fasthttp/src 2 | 3 | go 1.14 4 | 5 | require ( 6 | github.com/valyala/fasthttp v1.34.0 7 | gopkg.in/yaml.v2 v2.2.8 8 | ) -------------------------------------------------------------------------------- /lang-server-backends/go/fasthttp/run.sh: -------------------------------------------------------------------------------- 1 | ./fasthttp-ffead-cpp --server_directory=/root/ffead-cpp-7.0 -addr=8080 -------------------------------------------------------------------------------- /lang-server-backends/go/gnet/Makefile: -------------------------------------------------------------------------------- 1 | gnet-ffead-cpp: clean 2 | go mod download 3 | go build -gcflags="-l=4" -ldflags="-s -w" -o gnet-ffead-cpp . 4 | 5 | clean: 6 | rm -f gnet-ffead-cpp -------------------------------------------------------------------------------- /lang-server-backends/go/gnet/go.mod: -------------------------------------------------------------------------------- 1 | module gnet 2 | 3 | go 1.14 4 | 5 | require github.com/panjf2000/gnet v1.6.0 6 | -------------------------------------------------------------------------------- /lang-server-backends/go/gnet/run.sh: -------------------------------------------------------------------------------- 1 | ./gnet-ffead-cpp --server_directory=/root/ffead-cpp-3.0 --port=8080 -------------------------------------------------------------------------------- /lang-server-backends/java/firenio/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /lang-server-backends/java/firenio/build.sh: -------------------------------------------------------------------------------- 1 | mvn package -------------------------------------------------------------------------------- /lang-server-backends/java/firenio/run.sh: -------------------------------------------------------------------------------- 1 | java -classpath target/firenio-ffead-cpp-0.1-jar-with-dependencies.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:9999 com.firenio.ffeadcpp.FirenioFfeadCppServer /root/ffead-cpp-7.0 8080 -------------------------------------------------------------------------------- /lang-server-backends/java/rapidoid/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /lang-server-backends/java/rapidoid/build.sh: -------------------------------------------------------------------------------- 1 | mvn package -------------------------------------------------------------------------------- /lang-server-backends/java/rapidoid/run.sh: -------------------------------------------------------------------------------- 1 | java -classpath target/rapidoid-ffead-cpp-1.0-jar-with-dependencies.jar com.rapidoid.ffeadcpp.Main /root/ffead-cpp-7.0 8080 -------------------------------------------------------------------------------- /lang-server-backends/java/rapidoid/src/main/resources/config.yml: -------------------------------------------------------------------------------- 1 | net: 2 | bufSizeKB: 16 3 | -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/.gitignore: -------------------------------------------------------------------------------- 1 | /.gradle/ 2 | -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/bin/.gitignore: -------------------------------------------------------------------------------- 1 | /main/ 2 | /default/ 3 | -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/build.sh: -------------------------------------------------------------------------------- 1 | gradle fatJar -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/run.sh: -------------------------------------------------------------------------------- 1 | java -jar build/libs/wizzardo-ffead-cpp-all-1.0.jar /root/ffead-cpp-7.0 8080 -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'wizzardo-ffead-cpp' 2 | 3 | -------------------------------------------------------------------------------- /lang-server-backends/java/wizzardo-http/src/main/resources/Config.groovy: -------------------------------------------------------------------------------- 1 | server { 2 | host = '0.0.0.0' 3 | port = 8080 4 | ttl = 5 * 60 * 1000 5 | context = '/' 6 | 7 | session { 8 | ttl = 30 * 60 9 | } 10 | 11 | debugOutput = false 12 | onlyCachedHeaders = false 13 | } 14 | -------------------------------------------------------------------------------- /lang-server-backends/javascript/emscripten/steps: -------------------------------------------------------------------------------- 1 | emcc ffead-cpp-glue.cpp -std=c++11 -o ffead-cpp-glue.js --bind 2 | 3 | https://github.com/madler/zlib 4 | 5 | https://github.com/sean-/ossp-uuid 6 | 7 | https://github.com/kkos/oniguruma -------------------------------------------------------------------------------- /lang-server-backends/javascript/emscripten/test.html: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | -------------------------------------------------------------------------------- /lang-server-backends/javascript/nodejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ffead-cpp-js-node-http", 3 | "version": "7.0", 4 | "description": "", 5 | "main": "server.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "Apache", 11 | "dependencies": { 12 | "ffi-napi": "^4.0.3", 13 | "http": "0.0.1-security", 14 | "ref-array-di": "^1.2.2", 15 | "ref-napi": "^3.0.2", 16 | "ref-struct-di": "^1.1.1" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^14.14.41" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lang-server-backends/julia/http.jl/http.dockerfile: -------------------------------------------------------------------------------- 1 | 2 | RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.2-linux-x86_64.tar.gz 3 | RUN tar -xvzf julia-1.5.2-linux-x86_64.tar.gz 4 | RUN cp -r julia-1.5.2 /opt/ 5 | RUN ln -s /opt/julia-1.5.2/bin/julia /usr/local/bin/julia 6 | 7 | #/Applications/Julia-1.5.app/Contents/Resources/julia/bin/julia server.jl /tmp -------------------------------------------------------------------------------- /lang-server-backends/rust/actix-ffead-cpp/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "actix-ffead-cpp" 3 | version = "0.2.0" 4 | authors = ["Sumeet Chhetri "] 5 | edition = "2021" 6 | 7 | [dependencies] 8 | libc = "0.2.127" 9 | actix-web = { version = "4.1.0", default-features = false } 10 | actix-http = { version = "3.2.1", default-features = false } 11 | actix-rt = "2.7.0" 12 | actix-files = "0.6.2" 13 | futures = "0.3.21" 14 | 15 | [profile.release] 16 | lto = true 17 | opt-level = 3 18 | codegen-units = 1 19 | -------------------------------------------------------------------------------- /lang-server-backends/rust/hyper-ffead-cpp/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hyper-ffead-cpp" 3 | version = "0.2.0" 4 | authors = ["Sumeet Chhetri "] 5 | edition = "2021" 6 | 7 | [dependencies] 8 | hyper = { version = "0.14.20", features = ["full"] } 9 | tokio = { version = "1.21.1", features = ["full"] } 10 | pretty_env_logger = "0.4.0" 11 | libc = "0.2.127" 12 | bytes = "1.2.1" 13 | futures = "0.3.21" 14 | 15 | [profile.release] 16 | lto = true 17 | opt-level = 3 18 | codegen-units = 1 19 | -------------------------------------------------------------------------------- /lang-server-backends/rust/thruster-ffead-cpp/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "thruster-ffead-cpp" 3 | version = "0.2.0" 4 | authors = ["Sumeet Chhetri "] 5 | edition = "2021" 6 | 7 | [dependencies] 8 | hyper = "0.14.20" 9 | futures = "0.3.21" 10 | serde = "1.0.142" 11 | serde_derive = "1.0.142" 12 | serde_json = "1.0.83" 13 | smallvec = "1.9.0" 14 | thruster = "1.2.4" 15 | thruster-proc = "1.2.4" 16 | libc = "0.2.127" 17 | bytes = "1.2.1" 18 | 19 | [profile.release] 20 | lto = true 21 | opt-level = 3 22 | codegen-units = 1 23 | -------------------------------------------------------------------------------- /lang-server-backends/swift/swift-nio/.dockerignore: -------------------------------------------------------------------------------- 1 | **/.swiftpm 2 | **/.build 3 | **/app.xcodeproj 4 | 5 | -------------------------------------------------------------------------------- /lang-server-backends/swift/swift-nio/FfeadCpp/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.2 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "FfeadCpp", 7 | products: [ 8 | .library(name: "FfeadCpp", targets: ["FfeadCpp"]), 9 | ], 10 | targets: [ 11 | .systemLibrary( 12 | name: "FfeadCpp" 13 | ) 14 | ] 15 | ) -------------------------------------------------------------------------------- /lang-server-backends/swift/swift-nio/FfeadCpp/Sources/FfeadCpp/module.modulemap: -------------------------------------------------------------------------------- 1 | module FfeadCpp [system] { 2 | header "ffead-cpp.h" 3 | link "ffead-framework" 4 | export * 5 | } 6 | -------------------------------------------------------------------------------- /lang-server-backends/swift/swift-nio/app/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | { 5 | "package": "swift-nio", 6 | "repositoryURL": "https://github.com/apple/swift-nio.git", 7 | "state": { 8 | "branch": null, 9 | "revision": "9428f62793696d9a0cc1f26a63f63bb31da0516d", 10 | "version": "2.66.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "version": 1 16 | } 17 | -------------------------------------------------------------------------------- /lang-server-backends/swift/swift-nio/app/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.1 2 | import PackageDescription 3 | 4 | let package = Package( 5 | name: "app", 6 | platforms: [ 7 | .macOS(.v10_15) 8 | ], 9 | products: [ 10 | .executable(name: "app", targets: ["App"]) 11 | ], 12 | dependencies: [ 13 | .package(url: "https://github.com/apple/swift-nio.git", from: "2.66.0"), 14 | .package(path: "../FfeadCpp"), 15 | ], 16 | targets: [ 17 | .target(name: "App", dependencies: [ 18 | "NIO", 19 | "NIOHTTP1", 20 | "FfeadCpp", 21 | ], path: "Sources") 22 | ] 23 | ) 24 | -------------------------------------------------------------------------------- /lang-server-backends/v/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM buildpack-deps:bionic 2 | LABEL maintainer="Sumeet Chhetri" 3 | LABEL version="1.0" 4 | LABEL description="Base v docker image with master code found on 3rd July 2020 3:49PM IST" 5 | 6 | RUN apt update -yqq && apt install git make 7 | RUN git clone https://github.com/vlang/v && cd v && make && ./v symlink 8 | -------------------------------------------------------------------------------- /lang-server-backends/v/pico.v/build-debug.sh: -------------------------------------------------------------------------------- 1 | v -enable-globals -cg -showcc -cflags '-std=gnu11 -Wall -flto' main.v -------------------------------------------------------------------------------- /lang-server-backends/v/pico.v/build.sh: -------------------------------------------------------------------------------- 1 | v -enable-globals -prod -cflags '-std=gnu11 -Wall -O3 -march=native -mtune=native -no-pie -flto' main.v -------------------------------------------------------------------------------- /lang-server-backends/v/pico.v/ffead-cpp-util.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void* fc_memcpy(void* ptr, char* c, size_t len) { 4 | memcpy(ptr, (const void *)c, len); 5 | ptr += len; 6 | return ptr; 7 | } 8 | 9 | const char* get_date_2() { 10 | time_t t; 11 | struct tm tm; 12 | static const char *days[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 13 | static const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; 14 | static __thread char date[52] = "Date: Thu, 01 Jan 1970 00:00:00 GMT\r\nServer: fcpv\r\n"; 15 | 16 | time(&t); 17 | gmtime_r(&t, &tm); 18 | strftime(date, 51, "Date: ---, %d --- %Y %H:%M:%S GMT\r\nServer: fcpv\r\n", &tm); 19 | memcpy(date + 6, days[tm.tm_wday], 3); 20 | memcpy(date + 14, months[tm.tm_mon], 3); 21 | 22 | return date; 23 | } 24 | -------------------------------------------------------------------------------- /lang-server-backends/v/pico.v/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in $(seq 0 $(($(nproc --all)-1))); do 4 | taskset -c $i ./main --server_dir=/root/ffead-cpp-7.0 --server_port=8080 & 5 | done 6 | 7 | wait 8 | -------------------------------------------------------------------------------- /lang-server-backends/v/v_linux.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/lang-server-backends/v/v_linux.zip -------------------------------------------------------------------------------- /lang-server-backends/v/vweb/build.sh: -------------------------------------------------------------------------------- 1 | #gcc dtutil.c -c -o dtutil.o 2 | v -prod -cflags '-std=gnu11 -Wall -O3 -march=native -mtune=native -no-pie -flto' vweb.v -------------------------------------------------------------------------------- /lang-server-backends/v/vweb/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in $(seq 0 $(($(nproc --all)-1))); do 4 | taskset -c $i ./vweb --server_dir=/root/ffead-cpp-7.0 --server_port=8080 & 5 | done 6 | 7 | wait 8 | -------------------------------------------------------------------------------- /lib/README-LIB.txt: -------------------------------------------------------------------------------- 1 | Place all your application shared libraries here. -------------------------------------------------------------------------------- /meson_grabber.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ext="*.cpp" 4 | 5 | if [ "$3" = "*.h" ]; then 6 | ext="*.h" 7 | fi 8 | 9 | if [ "$2" = "all" ]; then 10 | find $1 -name "$ext" 11 | else 12 | find $1 -maxdepth 1 -name "$ext" 13 | fi 14 | -------------------------------------------------------------------------------- /meson_postinstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for d in $1/web/* ; do 4 | rm -rf $d/src $d/CMakeLists.txt $d/Makefile $d/*.build $d/*.lua $d/lib*.so $d/lib*.dylib $d/.* 2> /dev/null 5 | done 6 | 7 | cp -f $2/tests/*.sh $2/tests/*.pem $2/tests/*.prop $2/tests/*.prop $2/tests/*.csv $1/tests/ 8 | cp -f $2/script/*.sh $2/script/*.pem $2/script/*.crt $2/script/*.key $1/ 9 | mkdir $1/logs 10 | 11 | exit 0 -------------------------------------------------------------------------------- /modules/apache_mod_ffeadcpp/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | apache_mod_ffeadcpp 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /modules/apache_mod_ffeadcpp/run.sh: -------------------------------------------------------------------------------- 1 | USER_HOME=$(eval echo ~${SUDO_USER}) 2 | echo User Home Directory is : ${USER_HOME} 3 | FFEAD_CPPPTH=${USER_HOME}/ffead-server 4 | HTTPD_LIB= 5 | if [ "$#" -gt 0 -a -n "$1" ] 6 | then 7 | FFEAD_CPP_PATH=$1 8 | fi 9 | #the path of the ffead-cpp server folder inside apache web folder 10 | export FFEAD_CPP_PATH=${FFEAD_CPPPTH} 11 | #the path of the ffead-cpp lib folder inside apache web folder 12 | export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/www/html/ffead-server/lib/:/usr/local/lib 13 | #set it in-case selinux security policy needs to be disabled 14 | #/usr/sbin/setenforce 0 15 | make all -------------------------------------------------------------------------------- /modules/apache_mod_ffeadcpp/run_cygwin.sh: -------------------------------------------------------------------------------- 1 | USER_HOME=/home/`env | grep -e USER=|cut -d= -f2` 2 | echo User Home Directory is : ${USER_HOME} 3 | FFEAD_CPPPTH=${USER_HOME}/ffead-server 4 | HTTPD_LIB=-lhttpd2core 5 | if [ "$#" -gt 0 -a -n "$1" ] 6 | then 7 | FFEAD_CPP_PATH=$1 8 | fi 9 | #the path of the ffead-cpp server folder inside apache web folder 10 | export FFEAD_CPP_PATH=${FFEAD_CPPPTH} 11 | echo ffead-server Directory is : ${FFEAD_CPP_PATH} 12 | #the path of the ffead-cpp lib folder inside apache web folder 13 | export PATH=${PATH}:/usr/sbin/:/lib/:${FFEAD_CPP_PATH}/lib/ 14 | make all -------------------------------------------------------------------------------- /modules/nginx_mod_ffeadcpp/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 5 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 6 | fprefix=../../../../${packageIdentifier} 7 | prefix=${abs_builddir} 8 | 9 | # build nginx 10 | install-data-hook: 11 | wget -q http://nginx.org/download/nginx-1.19.1.tar.gz && tar xf nginx-1.19.1.tar.gz 12 | cd nginx-1.19.1 && ./configure --prefix=../../../../nginxfc --with-ld-opt="-lstdc++ @NGX_LD_FLAGS@ -L${fprefix}/lib" --add-module="../../" \ 13 | --with-cc-opt="-I${fprefix}/include @NGX_CPP_FLAGS@ -w -fpermissive -std=gnu++17" && make && make install 14 | cp ../nginx.conf ../../../nginxfc/conf/ 15 | sed -i'' -e 's|FFEAD_PATH|'${prefix}/ffead-cpp-7.0'|g' ../../../nginxfc/conf/nginx.conf 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /modules/nginx_mod_ffeadcpp/build-nginx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd tmp 4 | wget http://nginx.org/download/nginx-1.11.3.tar.gz 5 | tar xvzf nginx-1.11.3.tar.gz 6 | cd nginx-1.11.3 7 | ./configure --with-ld-opt="-lstdc++ ${3} -L${1}/lib" --add-module=${4} --with-cc-opt="${2} -I${1}/include -w -fpermissive" 8 | make install 9 | -------------------------------------------------------------------------------- /modules/nginx_mod_ffeadcpp/config: -------------------------------------------------------------------------------- 1 | ngx_addon_name=ngx_http_ffeadcpp_module 2 | CORE_LIBS="$CORE_LIBS -lmongoc-1.0 -lbson-1.0 -lffead-modules -lffead-framework" 3 | HTTP_MODULES="$HTTP_MODULES ngx_http_ffeadcpp_module" 4 | NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_ffeadcpp_module.cpp" -------------------------------------------------------------------------------- /modules/nginx_mod_ffeadcpp/config_autoconf: -------------------------------------------------------------------------------- 1 | ngx_addon_name=ngx_http_ffeadcpp_module 2 | CORE_LIBS="$CORE_LIBS -lffead-modules -lffead-framework" 3 | HTTP_MODULES="$HTTP_MODULES ngx_http_ffeadcpp_module" 4 | NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_ffeadcpp_module.cpp" -------------------------------------------------------------------------------- /resources/create-certificate-chain.sh: -------------------------------------------------------------------------------- 1 | openssl genrsa -aes256 -out rootCA.key 4096 2 | openssl req -new -key rootCA.key -x509 -out rootCA.crt -days 7650 3 | openssl req -new -nodes -newkey rsa:4096 -keyout server.key -out server.req -batch -subj "/C=UN/ST=UN/L=UN/O=UN CA/OU=UN/CN=localhost" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:localhost,IP:192.168.1.1")) 4 | openssl x509 -req -in server.req -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile <(printf "subjectAltName=DNS:localhost,IP:192.168.1.1") 5 | cat server.key > serverchain.pem 6 | cat server.crt >> serverchain.pem 7 | cat rootCA.crt >> serverchain.pem 8 | openssl dhparam -out dparams.pem 4096 -------------------------------------------------------------------------------- /resources/ffead-gen/CMakeLists.txt.template: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/@APP_NAME@/include") 8 | add_library(@APP_NAME@ SHARED ${sources}) 9 | set_property(TARGET @APP_NAME@ PROPERTY POSITION_INDEPENDENT_CODE ON) 10 | target_link_libraries(@APP_NAME@ ffead-modules ffead-framework @FAPP_LIBS@ ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 11 | -------------------------------------------------------------------------------- /resources/ffead-gen/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = lib@APP_NAME@.la 12 | lib@APP_NAME@_la_SOURCES = @APP_CLASSES@ 13 | 14 | lib@APP_NAME@_la_LDFLAGS = -no-undefined 15 | lib@APP_NAME@_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework @FAPP_LIBS@ 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /resources/ffead-gen/markers/TControllerHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | #include "Controller.h" 5 | 6 | #pragma @Controller path="*" 7 | class @TCLASS@ { 8 | public: 9 | @TCLASS@(); 10 | virtual ~@TCLASS@(); 11 | bool service(HttpRequest* req, HttpResponse* res); 12 | }; 13 | 14 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/markers/TFilterHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | #include "Controller.h" 5 | 6 | #pragma @Filter type="in" path="*.in" 7 | #pragma @Filter type="out" path="*.out" 8 | #pragma @Filter type="handle" path="*.inout" 9 | class @TCLASS@ { 10 | public: 11 | @TCLASS@(); 12 | virtual ~@TCLASS@(); 13 | void doInputFilter(HttpRequest *req); 14 | void doOutputFilter(HttpResponse *res); 15 | bool doHandle(HttpRequest *req, HttpResponse* res); 16 | }; 17 | 18 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/markers/TRestApiHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | 5 | #pragma @RestController path="/@TCLASS@" 6 | class @TCLASS@ { 7 | public: 8 | @TCLASS@(); 9 | virtual ~@TCLASS@(); 10 | #pragma @GET path="/serve" statusCode="200" 11 | int serve(); 12 | }; 13 | 14 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/markers/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TControllerDef.t: -------------------------------------------------------------------------------- 1 | 2 | #include "@TCLASS@.h" 3 | 4 | @TCLASS@::@TCLASS@() { 5 | } 6 | 7 | @TCLASS@::~@TCLASS@() { 8 | } 9 | 10 | bool @TCLASS@::service(HttpRequest* req, HttpResponse* res) 11 | { 12 | res->setHTTPResponseStatus(HTTPResponseStatus::Ok); 13 | res->addHeaderValue(HttpResponse::ContentType, "text/plain"); 14 | res->setContent("Hello World"); 15 | return true; 16 | } 17 | -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TControllerHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | #include "Controller.h" 5 | 6 | class @TCLASS@ { 7 | public: 8 | @TCLASS@(); 9 | virtual ~@TCLASS@(); 10 | bool service(HttpRequest* req, HttpResponse* res); 11 | }; 12 | 13 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TFilterDef.t: -------------------------------------------------------------------------------- 1 | 2 | #include "@TCLASS@.h" 3 | 4 | @TCLASS@::@TCLASS@() { 5 | } 6 | 7 | @TCLASS@::~@TCLASS@() { 8 | } 9 | 10 | void @TCLASS@::doInputFilter(HttpRequest *req) 11 | { 12 | } 13 | 14 | void @TCLASS@::doOutputFilter(HttpResponse *res) 15 | { 16 | } 17 | 18 | bool @TCLASS@::doHandle(HttpRequest *req, HttpResponse* res) 19 | { 20 | bool continue_proc_request = true; 21 | return continue_proc_request; 22 | } -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TFilterHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | #include "Controller.h" 5 | 6 | class @TCLASS@ { 7 | public: 8 | @TCLASS@(); 9 | virtual ~@TCLASS@(); 10 | void doInputFilter(HttpRequest *req); 11 | void doOutputFilter(HttpResponse *res); 12 | bool doHandle(HttpRequest *req, HttpResponse* res); 13 | }; 14 | 15 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TRestApiDef.t: -------------------------------------------------------------------------------- 1 | 2 | #include "@TCLASS@.h" 3 | 4 | @TCLASS@::@TCLASS@() { 5 | } 6 | 7 | @TCLASS@::~@TCLASS@() { 8 | } 9 | 10 | int @TCLASS@::serve() 11 | { 12 | return 1; 13 | } -------------------------------------------------------------------------------- /resources/ffead-gen/xml/TRestApiHeader.t: -------------------------------------------------------------------------------- 1 | 2 | #ifndef @TCLASSU@_H_ 3 | #define @TCLASSU@_H_ 4 | 5 | class @TCLASS@ { 6 | public: 7 | @TCLASS@(); 8 | virtual ~@TCLASS@(); 9 | int serve(); 10 | }; 11 | 12 | #endif /* @TCLASSU@_H_ */ -------------------------------------------------------------------------------- /resources/ffead-gen/xml/application.xml: -------------------------------------------------------------------------------- 1 | 2 | @CONTOLLER_CONF@ 3 | 4 | @FILTER_CONF@ 5 | 6 | @RESTAPI_CONF@ 7 | 8 | 9 | -------------------------------------------------------------------------------- /resources/locale.prop: -------------------------------------------------------------------------------- 1 | ar=arabic 2 | bg=bulgarian 3 | zh=chinese 4 | zh_tw=chinese_taiwan 5 | zh-tw=chinese_taiwan 6 | hr=croatian 7 | cs=czech 8 | da=danish 9 | nl=dutch 10 | en=english 11 | en_gb=english 12 | en_us=english 13 | en-gb=english 14 | en-us=english 15 | fi=finnish 16 | fr=french 17 | de=german 18 | el=greek 19 | iw=hebrew 20 | hu=hungarian 21 | it=italian 22 | ja=japanese 23 | ko=korean 24 | no=norwegian 25 | pl=polish 26 | pt=portuguese 27 | pt_br=portuguese_brazil 28 | pt-br=portuguese_brazil 29 | ro=romanian 30 | ru=russian 31 | sk=slovak 32 | es=spanish 33 | sv=swedish 34 | tr=turkish 35 | -------------------------------------------------------------------------------- /resources/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | jobs.log 5 | .* 6 | 7 | -------------------------------------------------------------------------------- /resources/odbc.ini: -------------------------------------------------------------------------------- 1 | [MySQL-DSN] 2 | Description = MySQL connection 3 | Trace = Off 4 | TraceFile = stderr 5 | Driver = MySQL 6 | SERVER = 127.0.0.1 7 | DATABASE = hello_world 8 | USER = benchmarkdbuser 9 | PASSWORD = benchmarkdbpass 10 | PORT = 3306 11 | 12 | [PostgreSQL-DSN] 13 | Description = PostgreSQL connection 14 | Driver = PostgreSQL 15 | Database = hello_world 16 | Servername = 127.0.0.1 17 | UserName = benchmarkdbuser 18 | Password = benchmarkdbpass 19 | Port = 5432 20 | Protocol = 9.02 21 | ReadOnly = No 22 | RowVersioning = No 23 | ShowSystemTables = No 24 | ShowOidColumn = No 25 | FakeOidIndex = No 26 | ConnSettings = 27 | -------------------------------------------------------------------------------- /resources/odbcinst.ini: -------------------------------------------------------------------------------- 1 | [MySQL] 2 | Description = ODBC for MySQL 3 | Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so 4 | Setup = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8S.so 5 | FileUsage = 1 6 | #Trace = 1 7 | #TraceFile = /tmp/mysql.log 8 | 9 | [PostgreSQL] 10 | Description = ODBC for PostgreSQL 11 | Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so 12 | Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so 13 | FileUsage = 1 14 | #Trace = 1 15 | #TraceFile = /tmp/postgresql.log 16 | -------------------------------------------------------------------------------- /resources/plugins.prop: -------------------------------------------------------------------------------- 1 | plugin.executable=/usr/bin/python 2 | plugin.entrypoint=ffead-plugins/python/FfeadPythonPlugin.py 3 | plugin.entrypoint.port=9002 -------------------------------------------------------------------------------- /resources/rundyn-automake_autoconf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | FFEAD_CPPPTH=$1 4 | export FFEAD_CPP_PATH=${FFEAD_CPPPTH} 5 | 6 | IS_OS_MINGW=`uname|tr '[A-Z]' '[a-z]'|awk 'index($0,"mingw") != 0 {print "mingw"}'` 7 | 8 | cd $FFEAD_CPP_PATH/rtdcf/autotools 9 | if [ "$IS_OS_MINGW" != "" ]; then 10 | mingw32-make clean 11 | mingw32-make all 12 | else 13 | make clean 14 | make all 15 | fi 16 | cp -f .libs/*inter* $FFEAD_CPP_PATH/lib/ -------------------------------------------------------------------------------- /resources/rundyn-automake_dinter_autoconf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | FFEAD_CPPPTH=$1 4 | export FFEAD_CPP_PATH=${FFEAD_CPPPTH} 5 | 6 | IS_OS_MINGW=`uname|tr '[A-Z]' '[a-z]'|awk 'index($0,"mingw") != 0 {print "mingw"}'` 7 | 8 | cd $FFEAD_CPP_PATH/rtdcf/autotools 9 | if [ "$IS_OS_MINGW" != "" ]; then 10 | mingw32-make libdinter.la 11 | else 12 | make libdinter.la 13 | fi 14 | cp -f .libs/*dinter* $FFEAD_CPP_PATH/lib/ -------------------------------------------------------------------------------- /resources/sample-odbc.ini: -------------------------------------------------------------------------------- 1 | [MySQL-DSN] 2 | Description = MySQL connection 3 | Trace = Off 4 | TraceFile = stderr 5 | Driver = MySQL 6 | SERVER = 127.0.0.1 7 | DATABASE = hello_world 8 | USER = benchmarkdbuser 9 | PASSWORD = benchmarkdbpass 10 | PORT = 3306 11 | 12 | [PostgreSQL-DSN] 13 | Description = PostgreSQL connection 14 | Driver = PostgreSQL 15 | Database = hello_world 16 | Servername = 127.0.0.1 17 | UserName = benchmarkdbuser 18 | Password = benchmarkdbpass 19 | Port = 5432 20 | Protocol = 9.02 21 | ReadOnly = No 22 | RowVersioning = No 23 | ShowSystemTables = No 24 | ShowOidColumn = No 25 | FakeOidIndex = No 26 | ConnSettings = 27 | -------------------------------------------------------------------------------- /resources/sample-odbcinst.ini: -------------------------------------------------------------------------------- 1 | [MySQL] 2 | Description = ODBC for MySQL 3 | Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so 4 | Setup = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8S.so 5 | FileUsage = 1 6 | 7 | [PostgreSQL] 8 | Description = ODBC for PostgreSQL 9 | Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so 10 | Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so 11 | FileUsage = 1 12 | -------------------------------------------------------------------------------- /resources/security.prop: -------------------------------------------------------------------------------- 1 | CERTFILE=serverchain.pem 2 | KEYFILE=serverchain.pem 3 | PASSWORD=password 4 | DHFILE=dparams.pem 5 | CA_LIST=rootCA.pem 6 | ISDH_PARAMS=true 7 | CLIENT_SEC_LEVEL=0 8 | ALPN_ENABLED=false 9 | ALPN_PROTO_LIST=h2-16,h2,h2ws,http/1.1 10 | 11 | SRV_AUTH_PRVD=false 12 | SRV_AUTH_MODE=file 13 | SRV_AUTH_FILE=users 14 | 15 | SRV_OAUTH_ENAB=true 16 | -------------------------------------------------------------------------------- /resources/templateArr.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/templateObjBin.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ${OBJ_MEMBERS} 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/templateReqRes.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ${INP_PARAMS} 5 | 6 | 7 | 8 | 9 | 10 | ${RET_TYPE} 11 | 12 | -------------------------------------------------------------------------------- /resources/templateWsdlBind.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/templateWsdlMsg.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /resources/templateWsdlOpe.wsdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /rtdcf/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 3 | 4 | AM_CPPFLAGS=-I"../../include" ${INTER_DINTER_INCLUDES} 5 | 6 | prefix=${abs_builddir} 7 | 8 | lib_LTLIBRARIES = libinter.la 9 | libinter_la_SOURCES = ${INTER_SOURCES} 10 | libinter_la_LIBADD = -L"../../lib" -lffead-modules -lffead-framework ${INTER_DINTER_LIBRARIES} 11 | libinter_la_LDFLAGS = -avoid-version -shared -no-undefined -module -export-dynamic 12 | 13 | #if BUILT_WITH_CONFGURE 14 | lib_LTLIBRARIES += libdinter.la 15 | libdinter_la_SOURCES = ${DINTER_SOURCES} 16 | libdinter_la_LIBADD = -L"../../lib" -lffead-modules -lffead-framework ${INTER_DINTER_LIBRARIES} 17 | libdinter_la_LDFLAGS = -avoid-version -shared -no-undefined -module -export-dynamic 18 | #endif 19 | 20 | dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /rtdcf/autotools/Makefile.am.template: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../include" ${INTER_DINTER_INCLUDES} 5 | 6 | prefix=${abs_builddir} 7 | 8 | lib_LTLIBRARIES = libinter.la 9 | libinter_la_SOURCES = ${INTER_SOURCES} 10 | libinter_la_LIBADD = -L"../../lib" -lffead-modules -lffead-framework ${INTER_DINTER_LIBRARIES} 11 | libinter_la_LDFLAGS = -avoid-version -no-undefined -export-dynamic 12 | 13 | #if BUILT_WITH_CONFGURE 14 | lib_LTLIBRARIES += libdinter.la 15 | libdinter_la_SOURCES = ${DINTER_SOURCES} 16 | libdinter_la_LIBADD = -L"../../lib" -lffead-modules -lffead-framework ${INTER_DINTER_LIBRARIES} 17 | libdinter_la_LDFLAGS = -avoid-version -no-undefined -export-dynamic 18 | #endif 19 | 20 | dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /rtdcf/autotools/autogen-noreconf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | FFEAD_CPPPTH=$1 5 | shift; 6 | export FFEAD_CPP_PATH=${FFEAD_CPPPTH} 7 | cd $FFEAD_CPP_PATH/rtdcf/autotools 8 | 9 | echo "autogen-noreconf requested..." 10 | rm -f configure config.* aclocal* depcomp install-sh ltmain.sh libtool Makefile Makefile.in missing 11 | rm -rf autom4te.cache 12 | rm -rf $FFEAD_CPP_PATH/rtdcf/.deps 13 | 14 | IS_OS_DARWIN=`uname|tr '[A-Z]' '[a-z]'|awk 'index($0,"darwin") != 0 {print "darwin"}'` 15 | if [ -z "$IS_OS_DARWIN" ]; then 16 | libtoolize --force 17 | else 18 | glibtoolize --force 19 | fi 20 | aclocal 21 | autoconf -I m4 22 | automake --add-missing 23 | -------------------------------------------------------------------------------- /rtdcf/autotools/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 4179 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.6]) 16 | m4_define([LT_PACKAGE_REVISION], [2.4.6]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.6' 20 | macro_revision='2.4.6' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /rtdcf/meson_lister.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | find $1 -maxdepth 1 -mindepth 1 -type d -exec basename {} \; -------------------------------------------------------------------------------- /rtdcf/toolchains/BUCK: -------------------------------------------------------------------------------- 1 | load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") 2 | load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") 3 | 4 | system_cxx_toolchain( 5 | name = "cxx", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | system_python_bootstrap_toolchain( 10 | name = "python_bootstrap", 11 | visibility = ["PUBLIC"], 12 | ) -------------------------------------------------------------------------------- /rtdcf/xmake-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | find lib/ -name "$1.*" -exec cp "{}" ../lib/ \; 4 | -------------------------------------------------------------------------------- /sample-inst/runmongo.sh: -------------------------------------------------------------------------------- 1 | mongod --fork --logpath /var/log/mongodb.log --bind_ip_all 2 | 3 | -------------------------------------------------------------------------------- /scons_options.py: -------------------------------------------------------------------------------- 1 | MOD_DEBUG = False 2 | MOD_MEMORY = True 3 | MOD_MEMCACHED = True 4 | MOD_REDIS = True 5 | MOD_SDORM_SQL = True 6 | MOD_SDORM_MONGO = True 7 | MOD_SDORM_SCYLLA = False 8 | MOD_SER_BIN = True 9 | MOD_JOBS = True 10 | #SRV_ALL = True 11 | SRV_EMB = True 12 | WITH_RAPIDJSON = True 13 | WITH_PUGIXML = True 14 | WITH_PICOEV = False 15 | MOD_SOLR = True 16 | MOD_ELASTIC = False -------------------------------------------------------------------------------- /script/dparams.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN DH PARAMETERS----- 2 | MIICCAKCAgEA8iknrFTN0jnydY8fwC/jMuRyhguvHRRxXMQXNurjLNJK1c6dj2JC 3 | PUVdJ5ck+jOU5Q9fQUv8Wj5ldmqmw/6hCQQ+NZb0fB2NBgP2AGxoWZqNHaRW/3tu 4 | BM1sJg1AzSUPpoV7HSGGyV/d+Sr3iYwuEoh2lnwyyfS6tFAWfaD0Ds8/1/0KDUtg 5 | zGZxNjQXS6pIyHhR8QShCKSCk0cBQtPnKpmViF2cFiFvSzsnfY/T/sD7N8JLy7C/ 6 | QgBAMpcZ8tltgdPLNjPNU2OnqCnpjGqITCxX202ecGy37Y25X7YSso/AIz2u2Fwf 7 | X5ZSJ/yWdfauWbvx7W4SiWppfTGKvTPCwheorenXUskrARTKg/QlQRsdZFenQAYU 8 | Feo6tlaH7WERND/ujEMl7IRYf6EE1LgUUP79VI2Q5d13k76R16B7C1VDKewy/9Ml 9 | syW/4WvArFJwgMRmjw1awOHb9V4NY45M0lig3NqD6HoT9GYtWLnUVFaun9w8NZA/ 10 | KVHj2FtmSrFqF77NxUskzjPzgSS1C8OsfKQcMuTj1mO+vxP45ajql3LygOd1Zd+A 11 | GNoeO5+QqXdv7wseeRIGR59Wprlb3qguxwG0Dq4tr5RJZuEX1zugSB4ee4AF3+/x 12 | wmWswVo79ajV8SzfPd37UUkJjYoJVyNewgp85qhgzbhePw9N4QYucAsCAQI= 13 | -----END DH PARAMETERS----- 14 | -------------------------------------------------------------------------------- /script/rootCA.srl: -------------------------------------------------------------------------------- 1 | C4B136569CA22BE8 2 | -------------------------------------------------------------------------------- /script/vhost-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #/usr/sbin/setenforce 0 4 | ./ffead-cpp "$@" > ffead."$5".log 2>&1 & -------------------------------------------------------------------------------- /src/framework/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB framework_sources 3 | "*.h" 4 | "*.cpp" 5 | ) 6 | 7 | install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/framework/ DESTINATION ${PROJECT_NAME}-bin/include FILES_MATCHING PATTERN "*.h") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(ffead-framework STATIC ${framework_sources}) 10 | else() 11 | add_library(ffead-framework ${framework_sources}) 12 | endif() 13 | target_link_libraries(ffead-framework ffead-modules ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_REDISLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_MEMCACHEDUTILLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_SCYLLALIB} ${HAVE_PUGI_XML_LIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /src/framework/xmake.lua: -------------------------------------------------------------------------------- 1 | 2 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 3 | 4 | target("ffead-framework") 5 | set_languages("c++17") 6 | add_deps("ffead-modules") 7 | set_kind("shared") 8 | add_options(getOptions()) 9 | on_load(setIncludes) 10 | add_files("$(projectdir)/src/framework/*.cpp") 11 | set_installdir(bindir) 12 | 13 | -------------------------------------------------------------------------------- /src/modules/common/hescape.h: -------------------------------------------------------------------------------- 1 | #ifndef HESCAPE_H 2 | #define HESCAPE_H 3 | 4 | #include 5 | #include 6 | #include "string" 7 | #include "string_view" 8 | 9 | /* 10 | * Replace characters according to the following rules. 11 | * Note that this function can handle only ASCII-compatible string. 12 | * 13 | * " => " 14 | * & => & 15 | * ' => ' 16 | * < => < 17 | * > => > 18 | * 19 | * @return size of dest. If it's larger than len, dest is required to be freed. 20 | */ 21 | extern std::string_view hesc_escape_html(const uint8_t *buf, size_t size, std::string& data, bool& allocd); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /src/modules/picoev_w32.h: -------------------------------------------------------------------------------- 1 | #ifndef picoev_w32_h 2 | #define picoev_w32_h 3 | 4 | #include "SelEpolKqEvPrt.h" 5 | 6 | #ifdef USE_PICOEV_SELECT 7 | 8 | #ifndef PICOEV_W32_INTERNAL 9 | extern int picoev_w32_init(int); 10 | extern int picoev_w32_deinit(void); 11 | extern int picoev_w32_sock2fd(int); 12 | extern int picoev_w32_fd2sock(int); 13 | # define picoev_init picoev_w32_init 14 | # define picoev_deinit picoev_w32_deinit 15 | #endif 16 | 17 | #endif 18 | #endif 19 | -------------------------------------------------------------------------------- /src/server/mongols/install: -------------------------------------------------------------------------------- 1 | on MACOS brew install gcc, comment lines 9,10,11 in src/leveldb/port/port_config.h -- #if !defined(HAVE_FDATASYNC) 2 | export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/openssl/lib/pkgconfig/ 3 | Update Makefile to change CC/CXX to /usr/local/bin/gcc-10, /usr/local/bin/g++-10 4 | make clean && make -j2 && sudo make install && sudo ldconfig 5 | -------------------------------------------------------------------------------- /src/server/nghttp2/install: -------------------------------------------------------------------------------- 1 | https://github.com/nghttp2/nghttp2/releases/download/v1.41.0/nghttp2-1.41.0.tar.gz 2 | tar xvf nghttp2-1.41.0.tar.gz 3 | cd nghttp2-1.41.0 4 | cmake -DENABLE_ASIO_LIB=on -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -GNinja . 5 | ninja install 6 | -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "*.cpp" 4 | ) 5 | 6 | add_executable(tests ${sources}) 7 | set_property(TARGET tests PROPERTY POSITION_INDEPENDENT_CODE ON) 8 | target_link_libraries(tests ffead-modules ffead-framework ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 9 | -------------------------------------------------------------------------------- /tests/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 3 | 4 | AM_CPPFLAGS=-I"../../src/modules/common" \ 5 | -I"../../src/modules/client-util" \ 6 | -I"../../src/modules/client-util/ssl" \ 7 | -I"../../src/modules/server-util" \ 8 | -I"../../src/modules/http" \ 9 | -I"../../src/modules/threads" \ 10 | -I"../../src/modules/reflection" \ 11 | -I"../../src/modules/ssl" \ 12 | -I"../../src/modules/serialization" \ 13 | -I"../../src/modules/serialization/json" 14 | 15 | 16 | prefix=${abs_builddir} 17 | 18 | noinst_PROGRAMS = tests 19 | tests_SOURCES = ../FfeadServerTestSuite.cpp 20 | tests_LDFLAGS= -no-undefined 21 | tests_LDADD = -L"../../src/autotools/libs/.libs" -lffead-modules 22 | -------------------------------------------------------------------------------- /tests/runTests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export LD_LIBRARY_PATH=../lib:/usr/local/lib:$LD_LIBRARY_PATH 4 | export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH 5 | export PATH=../lib:$PATH 6 | #/usr/sbin/setenforce 0 7 | 8 | #unameOut="$(uname -s)" 9 | #case "${unameOut}" in 10 | # Linux*) machine=Linux;; 11 | # Darwin*) machine=Mac;; 12 | # CYGWIN*) machine=Cygwin;; 13 | # MINGW*) machine=MinGw;; 14 | # *) machine="UNKNOWN:${unameOut}" 15 | #esac 16 | #echo ${machine} 17 | 18 | chmod 700 tests 19 | ./tests 20 | -------------------------------------------------------------------------------- /tests/sconscript: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | Import('env') 4 | 5 | # copy parent environment so our alterations don't affect it 6 | env = env.Clone() 7 | 8 | env.Append(CPPPATH=['../src/framework']) 9 | for root, dirnames, filenames in os.walk('../src/modules'): 10 | filenames = [f for f in filenames if not f[0] == '.'] 11 | dirnames[:] = [d for d in dirnames if not d[0] == '.'] 12 | for dirname in dirnames: 13 | dirPath = os.path.join(root,dirname) 14 | if env['PLATFORM'] != 'mingw' and 'wepoll' in dirPath: 15 | continue 16 | #print('adding src dir to path: %s' % dirPath) 17 | env.Append(CPPPATH=[dirPath]) 18 | 19 | matches = ['FfeadServerTestSuite.cpp'] 20 | env.Append(CPPPATH=['.']) 21 | 22 | #print('tests env CPPPATH:') 23 | #print(env['CPPPATH']) 24 | 25 | # build a shared library 26 | env.Program('../bin/tests', matches, LIBS=['ffead-modules', 'ffead-framework'], LIBPATH='../bin') 27 | -------------------------------------------------------------------------------- /tests/security.prop: -------------------------------------------------------------------------------- 1 | CERTFILE=client.pem 2 | KEYFILE=client.pem 3 | PASSWORD=password 4 | DHFILE=dh1024.pem 5 | CA_LIST=root.pem 6 | RANDOM=random.pem 7 | ISDH_PARAMS=true 8 | CLIENT_SEC_LEVEL=1 -------------------------------------------------------------------------------- /tests/test-te-all.csv: -------------------------------------------------------------------------------- 1 | ENABLED,SHOW_CONTENT,REQUEST,RESP_STATUS,MATCH_FILE,RESP_CONT_LEN,REQ_CONT_TYPE,REQ_CONTENT,HEADERS,RESP_CONT_TYPE 2 | Y,Y,GET /t1/plaint,200,, 3 | Y,Y,GET /t1/j,200,, 4 | Y,Y,GET /t2/plaint,200,, 5 | Y,Y,GET /t2/j,200,, 6 | Y,Y,GET /t3/plaint,200,, 7 | Y,Y,GET /t3/j,200,, 8 | Y,Y,GET /t4/plaint,200,, 9 | Y,Y,GET /t4/j,200,, 10 | Y,Y,GET /t6/plaint,200,, 11 | Y,Y,GET /t6/j,200,, 12 | Y,Y,GET /t7/plaint,200,, 13 | Y,Y,GET /t7/j,200,, 14 | -------------------------------------------------------------------------------- /tests/test-te.csv: -------------------------------------------------------------------------------- 1 | ENABLED,SHOW_CONTENT,REQUEST,RESP_STATUS,MATCH_FILE,RESP_CONT_LEN,REQ_CONT_TYPE,REQ_CONTENT,HEADERS,RESP_CONT_TYPE 2 | Y,Y,GET /t3/plaint,200,, 3 | Y,Y,GET /t3/j,200,, 4 | Y,Y,GET /t4/plaint,200,, 5 | Y,Y,GET /t4/j,200,, 6 | Y,Y,GET /t6/plaint,200,, 7 | Y,Y,GET /t6/j,200,, 8 | Y,Y,GET /t7/plaint,200,, 9 | Y,Y,GET /t7/j,200,, 10 | -------------------------------------------------------------------------------- /tests/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("./") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("tests") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("binary") 10 | on_load(setIncludes) 11 | add_files("$(projectdir)/tests/*.cpp") 12 | set_installdir(bindir) -------------------------------------------------------------------------------- /toolchains/BUCK: -------------------------------------------------------------------------------- 1 | load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") 2 | load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") 3 | 4 | system_cxx_toolchain( 5 | name = "cxx", 6 | visibility = ["PUBLIC"], 7 | ) 8 | 9 | system_python_bootstrap_toolchain( 10 | name = "python_bootstrap", 11 | visibility = ["PUBLIC"], 12 | ) -------------------------------------------------------------------------------- /tsan_suppressions.txt: -------------------------------------------------------------------------------- 1 | # Suppress data race on vptr between RequestHandler2::loopEventCb and BaseSecureSocket constructor 2 | race:*RequestHandler2::loopEventCb* 3 | race:*BaseSecureSocket::BaseSecureSocket* -------------------------------------------------------------------------------- /vagrant/freebsd/core.rb: -------------------------------------------------------------------------------- 1 | 2 | def provider_libvirt(config) 3 | config.vm.provider :libvirt do |virt, override| 4 | override.vm.box = "freebsd/FreeBSD-12.0-RELEASE" 5 | 6 | virt.graphics_type = "none" 7 | virt.memory = "2048" 8 | virt.cpus = "2" 9 | 10 | end 11 | end 12 | 13 | def provider_virtualbox(config) 14 | config.vm.provider :virtualbox do |vb, override| 15 | override.vm.box = "freebsd/FreeBSD-12.0-RELEASE" 16 | 17 | vb.gui = false 18 | vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 19 | vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 20 | vb.memory = "2048" 21 | vb.cpus = "2" 22 | 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /vagrant/solaris/core.rb: -------------------------------------------------------------------------------- 1 | 2 | def provider_libvirt(config) 3 | config.vm.provider :libvirt do |virt, override| 4 | override.vm.box = "fla_torres/solaris-11_3" 5 | 6 | virt.graphics_type = "none" 7 | virt.memory = "2048" 8 | virt.cpus = "2" 9 | 10 | end 11 | end 12 | 13 | def provider_virtualbox(config) 14 | config.vm.provider :virtualbox do |vb, override| 15 | override.vm.box = "fla_torres/solaris-11_3" 16 | 17 | vb.gui = false 18 | vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 19 | vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 20 | vb.memory = "2048" 21 | vb.cpus = "2" 22 | 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /web/default/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/default/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(default STATIC ${sources}) 10 | else() 11 | add_library(default ${sources}) 12 | endif() 13 | target_link_libraries(default ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/default/components/test.cmp: -------------------------------------------------------------------------------- 1 | @CMP_NAME=TEST_BEAN 2 | @CMP_DESC=Test Bean 3 | 4 | @AJAX_AVAIL=true 5 | @WEBS_AVAIL=true 6 | @MINV_AVAIL=true 7 | 8 | @AUTO_TRANS=true 9 | @THRD_POOL_NUM=20 10 | @THRD_PER_REQ=false 11 | 12 | @AUTH_FROM=database 13 | @AUTH_DETS=@DB 14 | @AUTH_ALL=false 15 | @USR_GRP_ALWD=UG_1,UG_2,UG_3 16 | @BLOCK_USERS=user1,user2 17 | @PROTO_ALWD=tcp,http,udp 18 | 19 | @DB_CONN_POOL_NUM=10 20 | @AUTH_CONN_SRC=test_dsn 21 | @AUTH_USR_NAME=test 22 | @AUTH_USR_PASS=test 23 | @AUTH_ADD= 24 | 25 | @SESSION=false 26 | 27 | @SERVICE1=@NAME(myFirstService) @USR_GRP_ALWD(UG_1,UG_2) @SIGNATURE(Service1.service1) @ARGS(void) @SRV_RET(string) 28 | @SERVICE2=@NAME(mySecondService) @BLOCK_USERS(user7) @SIGNATURE(Service2.service2) @ARGS(string) @SRV_RET(string) -------------------------------------------------------------------------------- /web/default/config/cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | sumeet 6 | sumeet 7 | 8 | 9 | Memory-Cached 10 | memory 11 | 12 | 36 | 37 | -------------------------------------------------------------------------------- /web/default/config/fviews.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | "); 12 | } 13 | ]]> 14 | 15 |
16 | 17 | 18 | 19 | 20 |
21 |
-------------------------------------------------------------------------------- /web/default/config/mess1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | localhost:8000 4 | 5 | -------------------------------------------------------------------------------- /web/default/config/messaging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | localhost:8000 4 | 5 | -------------------------------------------------------------------------------- /web/default/config/search-solr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | http://10.10.5.151:8983/solr 6 | 7 | 8 | http://10.10.5.152:8983/solr 9 | 10 | 11 | http://10.10.5.153:8983/solr 12 | 13 | 16 | 17 | 10 18 | 3600 19 | solr-cluster 20 | solr 21 | 22 | -------------------------------------------------------------------------------- /web/default/config/ws.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /web/default/dcp/test.dcp: -------------------------------------------------------------------------------- 1 | 2 | #include "string" 3 | #include 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | lsdflsdkfjsdlflk 12 | 13 | std::string h; 14 | h = "sdfsdf"; 15 | 16 | testheader.dcp 17 | 18 | 19 | 20 | 21 | screen << ""; 22 | std::cout << h << std::flush; 23 | 24 | 25 | 26 | void printscrn() 27 | { 28 | std::cout << "sdfsdfsdf" << std::flush; 29 | } 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /web/default/dcp/testheader.dcp: -------------------------------------------------------------------------------- 1 | 2 | lsdflsdkfjsdlflk 3 | 4 | std::string h1; 5 | h1 = "sdfsdf"; 6 | 7 | 8 | 9 | 10 | 11 | std::cout << h1 << std::flush; 12 | 13 | 14 | -------------------------------------------------------------------------------- /web/default/fviews/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

sdfsadsa

6 | 7 | Testing 8 |
9 | TextField: NumField: ChooseField: 13 |
14 | 15 | -------------------------------------------------------------------------------- /web/default/include/DefaultWebSocketHandler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * DefaultWebSocketHandler.h 3 | * 4 | * Created on: 04-Dec-2014 5 | * Author: sumeetc 6 | */ 7 | 8 | #ifndef DEFAULTWEBSOCKETHANDLER_H_ 9 | #define DEFAULTWEBSOCKETHANDLER_H_ 10 | #include "Http11WebSocketDataFrame.h" 11 | 12 | class DefaultWebSocketHandler { 13 | public: 14 | DefaultWebSocketHandler(); 15 | virtual ~DefaultWebSocketHandler(); 16 | bool isWriteControl(); 17 | bool onOpen(WebSocketData* req, WebSocketRespponseData* res, std::string uniqueAddress, void* hreq); 18 | void onClose(std::string uniqueAddress); 19 | bool onMessage(WebSocketData* req, WebSocketRespponseData* res, std::string uniqueAddress); 20 | }; 21 | 22 | #endif /* DEFAULTWEBSOCKETHANDLER_H_ */ 23 | -------------------------------------------------------------------------------- /web/default/include/GtmAccesController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GtmAccesController.h 3 | * 4 | * Created on: 25-Nov-2014 5 | * Author: sumeetc 6 | */ 7 | 8 | #ifndef GTMACCESCONTROLLER_H_ 9 | #define GTMACCESCONTROLLER_H_ 10 | #ifdef INC_GTM 11 | #include "GTM.h" 12 | #endif 13 | #include "Controller.h" 14 | 15 | class GtmAccesController { 16 | public: 17 | GtmAccesController(); 18 | virtual ~GtmAccesController(); 19 | bool service(HttpRequest* req, HttpResponse* res); 20 | }; 21 | 22 | #endif /* GTMACCESCONTROLLER_H_ */ 23 | -------------------------------------------------------------------------------- /web/default/public/app.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | Welcome!! 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /web/default/public/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/default/public/bg.jpg -------------------------------------------------------------------------------- /web/default/public/dcp_test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | lsdflsdkfjsdlflk 5 | lsdflsdkfjsdlflk 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /web/default/public/dcp_testheader.html: -------------------------------------------------------------------------------- 1 | 2 | lsdflsdkfjsdlflk 3 | -------------------------------------------------------------------------------- /web/default/public/images/img/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/default/public/images/img/test.jpg -------------------------------------------------------------------------------- /web/default/public/images/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/default/public/images/test.jpg -------------------------------------------------------------------------------- /web/default/public/index1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/default/public/index2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P2 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/default/public/index_arabic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P3 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/default/public/multi-file-upload1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Multi File Upload - 1 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
13 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /web/default/public/ravi.html: -------------------------------------------------------------------------------- 1 | 2 | sfsdfsdf 3 | 4 | 5 | -------------------------------------------------------------------------------- /web/default/public/welcome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Welcome to the Homepage 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/default/src/TestAOP.ac: -------------------------------------------------------------------------------- 1 | @INCLUDE("string.h;map.h;iostream.h") 2 | 3 | @ASPECTBEGIN 4 | @EXECUTION("Testing test1") 5 | @STRICT("false") 6 | @ARGS("string") 7 | @RETURN("*") 8 | @WHEN("BEFORE") 9 | @CODE(cout << _1 << std::flush;) 10 | @ASPECTEND -------------------------------------------------------------------------------- /web/default/tpe/test.tpe: -------------------------------------------------------------------------------- 1 | #declare std::vector vect# 2 | #declare Test test# 3 | #declare int number# 4 | #declare std::string dat# 5 | 6 | 7 | 8 | ${dat} 9 | $_S{test.getId()} 10 | 11 | 12 | 13 | 14 | #for(int i=0;i 16 | #rof# 17 | #for(int i=0;i<(int)vect.size();i++)# 18 | 19 | #rof# 20 | #if(number==0)# 21 |

No input fields present

22 | #fi# 23 |

$_S{test.getId()}${test.getName()}

24 | 25 | 26 | -------------------------------------------------------------------------------- /web/default/users: -------------------------------------------------------------------------------- 1 | sumeet:sumeet:ROLE_USER -------------------------------------------------------------------------------- /web/default/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("default") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/flexApp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/flexApp/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(flexApp STATIC ${sources}) 10 | else() 11 | add_library(flexApp ${sources}) 12 | endif() 13 | target_link_libraries(flexApp ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/flexApp/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /web/flexApp/public/flex-src/as3corelib.swc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/flexApp/public/flex-src/as3corelib.swc -------------------------------------------------------------------------------- /web/flexApp/public/flexApp.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/flexApp/public/flexApp.swf -------------------------------------------------------------------------------- /web/flexApp/public/history/history.css: -------------------------------------------------------------------------------- 1 | /* This CSS stylesheet defines styles used by required elements in a flex application page that supports browser history */ 2 | #ie_historyFrame { 3 | width: 0px; 4 | height: 0px; 5 | display: none 6 | } 7 | 8 | #firefox_anchorDiv { 9 | width: 0px; 10 | height: 0px; 11 | display: none 12 | } 13 | 14 | #safari_formDiv { 15 | width: 0px; 16 | height: 0px; 17 | display: none 18 | } 19 | 20 | #safari_rememberDiv { 21 | width: 0px; 22 | height: 0px; 23 | display: none 24 | } -------------------------------------------------------------------------------- /web/flexApp/public/playerProductInstall.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/flexApp/public/playerProductInstall.swf -------------------------------------------------------------------------------- /web/flexApp/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libflexApp.la 12 | libflexApp_la_SOURCES = ../FlexAppController.cpp 13 | libflexApp_la_LDFLAGS = -no-undefined 14 | libflexApp_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 15 | 16 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/flexApp/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("flexApp") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/markers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/markers/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(markers STATIC ${sources}) 10 | else() 11 | add_library(markers ${sources}) 12 | endif() 13 | target_link_libraries(markers ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/markers/public/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/markers/public/bg.jpg -------------------------------------------------------------------------------- /web/markers/public/dcp_test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | lsdflsdkfjsdlflk 5 | lsdflsdkfjsdlflk 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /web/markers/public/dcp_testheader.html: -------------------------------------------------------------------------------- 1 | 2 | lsdflsdkfjsdlflk 3 | -------------------------------------------------------------------------------- /web/markers/public/images/img/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/markers/public/images/img/test.jpg -------------------------------------------------------------------------------- /web/markers/public/images/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/markers/public/images/test.jpg -------------------------------------------------------------------------------- /web/markers/public/index1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/markers/public/index2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P2 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/markers/public/index_arabic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | You are currently on P3 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/markers/public/multi-file-upload1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Multi File Upload - 1 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
13 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /web/markers/public/ravi.html: -------------------------------------------------------------------------------- 1 | 2 | sfsdfsdf 3 | 4 | 5 | -------------------------------------------------------------------------------- /web/markers/public/welcome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Welcome to the Homepage 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/markers/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libmarkers.la 12 | libmarkers_la_SOURCES = ../MarkerController.cpp \ 13 | ../MarkerDview.cpp \ 14 | ../MarkerExpose.cpp \ 15 | ../MarkerTest.cpp \ 16 | ../MarkerDefTemp.cpp \ 17 | ../MarkerTesting.cpp \ 18 | ../MarkerIOFilter.cpp \ 19 | ../MarkerRestController.cpp \ 20 | ../MarkerSecurityProvider.cpp 21 | 22 | libmarkers_la_LDFLAGS = -no-undefined 23 | libmarkers_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 24 | 25 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/markers/tpe/mark.tpe: -------------------------------------------------------------------------------- 1 | #declare std::vector vect# 2 | #declare MarkerTest test# 3 | #declare int number# 4 | #declare std::string dat# 5 | 6 | 7 | 8 | ${dat} 9 | $_S{test.getId()} 10 | 11 | 12 | 13 | 14 | #for(int i=0;i 16 | #rof# 17 | #for(int i=0;i<(int)vect.size();i++)# 18 | 19 | #rof# 20 | #if(number==0)# 21 |

No input fields present

22 | #fi# 23 |

$_S{test.getId()}${test.getName()}

24 | 25 | 26 | -------------------------------------------------------------------------------- /web/markers/users: -------------------------------------------------------------------------------- 1 | sumeet:sumeet:ROLE_USER -------------------------------------------------------------------------------- /web/markers/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("markers") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/oauthApp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/oauthApp/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(oauthApp STATIC ${sources}) 10 | else() 11 | add_library(oauthApp ${sources}) 12 | endif() 13 | target_link_libraries(oauthApp ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/oauthApp/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/oauthApp/public/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Welcome to the Homepage 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /web/oauthApp/public/images/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/beda8b322adf45b2c4b32074d906dafe0c196993/web/oauthApp/public/images/test.jpg -------------------------------------------------------------------------------- /web/oauthApp/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 10 | 11 |
12 | Username: Password: 14 |
15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /web/oauthApp/public/welcome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Welcome to the Homepage 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/oauthApp/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = liboauthApp.la 12 | liboauthApp_la_SOURCES = ../OAUTHController.cpp \ 13 | ../OAUTH2Controller.cpp 14 | liboauthApp_la_LDFLAGS = -no-undefined 15 | liboauthApp_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/oauthApp/users: -------------------------------------------------------------------------------- 1 | sumeet:sumeet:ROLE_USER -------------------------------------------------------------------------------- /web/oauthApp/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("oauthApp") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/peer-server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/peer-server/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(peer-server STATIC ${sources}) 10 | else() 11 | add_library(peer-server ${sources}) 12 | endif() 13 | target_link_libraries(peer-server ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/peer-server/config/app.prop: -------------------------------------------------------------------------------- 1 | authKey=fec0a0cd-cb5f-4558-a506-c722e6ad2685 2 | nodeIdentifier=9837dab7-05d7-4e83-a8e7-7c20142d25ef 3 | isDistributedMode=true -------------------------------------------------------------------------------- /web/peer-server/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /web/peer-server/config/cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | peer-cached 4 | memory 5 | 6 | -------------------------------------------------------------------------------- /web/peer-server/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | 10 10 | 3600 11 | peer-cached 12 | redis 13 | 14 | -------------------------------------------------------------------------------- /web/peer-server/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libpeer-server.la 12 | libpeer_server_la_SOURCES = ../PeerServerController.cpp 13 | libpeer_server_la_LDFLAGS = -no-undefined 14 | libpeer_server_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 15 | 16 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/peer-server/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("peer-server") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t1/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t1 STATIC ${sources}) 10 | else() 11 | add_library(t1 ${sources}) 12 | endif() 13 | target_link_libraries(t1 ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/t1/config/cachememcached.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 11211 7 | 8 | 9 | TeBkUmRouter.updateCache 10 | 10 11 | 3600 12 | Memcached-Cached 13 | memcached 14 | 15 | -------------------------------------------------------------------------------- /web/t1/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t1/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | TeBkUmRouter.updateCache 10 | 10 11 | 3600 12 | Redis-Cached 13 | redis 14 | 15 | -------------------------------------------------------------------------------- /web/t1/config/sdormmongo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | localhost 7 | 27017 8 | hello_world 9 | 10000 10 | 11 | 12 | 30 13 | MongoDB-DSN 14 | mongo 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t1/config/sdormmysql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MySQL-DSN 7 | benchmarkdbuser 8 | benchmarkdbpass 9 | 10 | 11 | 30 12 | MySQL-DSN 13 | sql 14 | MySQLMyISAMDialect 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t1/config/sdormpostgresql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PostgreSQL-DSN 7 | benchmarkdbuser 8 | benchmarkdbpass 9 | 10 | 11 | 30 12 | PostgreSQL-DSN 13 | sql 14 | PostgresDialect 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t1/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt1.la 12 | libt1_la_SOURCES = ../TeBkUmWorld.cpp \ 13 | ../TeBkUm.cpp 14 | 15 | libt1_la_LDFLAGS = -no-undefined 16 | libt1_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 17 | 18 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t1/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declare std::vector fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(int i=0;i<(int)fortunes.size();i++)# 9 | 10 | #rof# 11 |
idmessage
$_S{fortunes.at(i).getId()}${fortunes.at(i).getMessage()}
12 | 13 | -------------------------------------------------------------------------------- /web/t1/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t1") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t2/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t2 STATIC ${sources}) 10 | else() 11 | add_library(t2 ${sources}) 12 | endif() 13 | target_link_libraries(t2 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/t2/config/cachememcached.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 11211 7 | 8 | 9 | TeBkUmMgrRouter.updateCache 10 | 10 11 | 3600 12 | Memcached-Cached 13 | memcached 14 | 15 | -------------------------------------------------------------------------------- /web/t2/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmMgrRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t2/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | TeBkUmMgrRouter.updateCache 10 | 10 11 | 3600 12 | Redis-Cached 13 | redis 14 | 15 | -------------------------------------------------------------------------------- /web/t2/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | localhost 7 | 27017 8 | hello_world 9 | 10000 10 | 11 | 12 | 30 13 | MongoDB-DSN 14 | mongo-raw 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t2/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt2.la 12 | libt2_la_SOURCES = ../TeBkUmMgr.cpp 13 | 14 | libt2_la_LDFLAGS = -no-undefined 15 | libt2_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t2/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declare std::vector fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(int i=0;i<(int)fortunes.size();i++)# 9 | 10 | #rof# 11 |
idmessage
$_S{fortunes.at(i).getId()}${fortunes.at(i).getMessage()}
12 | 13 | -------------------------------------------------------------------------------- /web/t2/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t2") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t3/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t3 STATIC ${sources}) 10 | else() 11 | add_library(t3 ${sources}) 12 | endif() 13 | set_property(TARGET t3 PROPERTY POSITION_INDEPENDENT_CODE ON) 14 | target_link_libraries(t3 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 15 | -------------------------------------------------------------------------------- /web/t3/config/cachememcached.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 11211 7 | 8 | 9 | TeBkUmLpqRouter.updateCache 10 | 10 11 | 3600 12 | Memcached-Cached 13 | memcached 14 | 15 | -------------------------------------------------------------------------------- /web/t3/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmLpqRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t3/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | TeBkUmLpqRouter.updateCache 10 | 10 11 | 3600 12 | Redis-Cached 13 | redis 14 | 15 | -------------------------------------------------------------------------------- /web/t3/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world 7 | 8 | 9 | 30 10 | PostgreSQL-DSN 11 | sql-raw-pq 12 | false 13 | false 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /web/t3/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt3.la 12 | libt3_la_SOURCES = ../TeBkUmLpq.cpp 13 | 14 | libt3_la_LDFLAGS = -no-undefined 15 | libt3_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t3/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declareref std::vector* fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(std::vector::iterator it=fortunes->begin(); it != fortunes->end(); ++it)# 9 | 10 | #rof# 11 |
idmessage
$_S{(*it)->getId()}${(*it)->message}
12 | 13 | -------------------------------------------------------------------------------- /web/t3/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t3") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t4/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t4/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t4 STATIC ${sources}) 10 | else() 11 | add_library(t4 ${sources}) 12 | endif() 13 | set_property(TARGET t4 PROPERTY POSITION_INDEPENDENT_CODE ON) 14 | target_link_libraries(t4 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 15 | -------------------------------------------------------------------------------- /web/t4/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmLpqAsyncRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t4/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world 7 | 8 | 9 | 30 10 | PostgreSQL-DSN 11 | sql-raw-pq 12 | true 13 | false 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /web/t4/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt4.la 12 | libt4_la_SOURCES = ../TeBkUmLpqAsync.cpp 13 | 14 | libt4_la_LDFLAGS = -no-undefined 15 | libt4_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t4/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declareref std::vector* fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(std::vector::iterator it=fortunes->begin(); it != fortunes->end(); ++it)# 9 | 10 | #rof# 11 |
idmessage
$_S{(*it)->getId()}${(*it)->message}
12 | 13 | -------------------------------------------------------------------------------- /web/t4/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t4") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t5/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t5 STATIC ${sources}) 10 | else() 11 | add_library(t5 ${sources}) 12 | endif() 13 | set_property(TARGET t5 PROPERTY POSITION_INDEPENDENT_CODE ON) 14 | target_link_libraries(t5 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 15 | -------------------------------------------------------------------------------- /web/t5/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world 7 | 8 | 9 | 30 10 | PostgreSQL-DSN 11 | sql-raw-pq 12 | true 13 | false 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /web/t5/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt5.la 12 | libt5_la_SOURCES = ../TeBkUmLpqQwAsync.cpp 13 | 14 | libt5_la_LDFLAGS = -no-undefined 15 | libt5_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t5/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declareref std::vector* fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(std::vector::iterator it=fortunes->begin(); it != fortunes->end(); ++it)# 9 | 10 | #rof# 11 |
idmessage
$_S{(*it)->getId()}${(*it)->message}
12 | 13 | -------------------------------------------------------------------------------- /web/t5/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t5") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t6/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t6/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t6 STATIC ${sources}) 10 | else() 11 | add_library(t6 ${sources}) 12 | endif() 13 | set_property(TARGET t6 PROPERTY POSITION_INDEPENDENT_CODE ON) 14 | target_link_libraries(t6 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 15 | -------------------------------------------------------------------------------- /web/t6/config/cachememcached.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 11211 7 | 8 | 9 | TeBkUmFpgRouter.updateCache 10 | 10 11 | 3600 12 | Memcached-Cached 13 | memcached 14 | 15 | -------------------------------------------------------------------------------- /web/t6/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmFpgRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t6/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | TeBkUmFpgRouter.updateCache 10 | 10 11 | 3600 12 | Redis-Cached 13 | redis 14 | 15 | -------------------------------------------------------------------------------- /web/t6/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world 7 | 8 | 9 | 30 10 | PostgreSQL-DSN 11 | sql-raw-pq 12 | true 13 | false 14 | false 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t6/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt6.la 12 | libt6_la_SOURCES = ../TeBkUmFpg.cpp 13 | 14 | libt6_la_LDFLAGS = -no-undefined 15 | libt6_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t6/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declareref std::vector* fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(std::vector::iterator it=fortunes->begin(); it != fortunes->end(); ++it)# 9 | 10 | #rof# 11 |
idmessage
$_S{(*it)->getId()}${(*it)->message}
12 | 13 | -------------------------------------------------------------------------------- /web/t6/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t6") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/t7/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/t7/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(t7 STATIC ${sources}) 10 | else() 11 | add_library(t7 ${sources}) 12 | endif() 13 | set_property(TARGET t7 PROPERTY POSITION_INDEPENDENT_CODE ON) 14 | target_link_libraries(t7 ffead-modules ffead-framework ${HAVE_PQLIB} ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 15 | -------------------------------------------------------------------------------- /web/t7/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkUmFpgAsyncRouter.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/t7/config/sdorm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world 7 | 8 | 9 | 30 10 | PostgreSQL-DSN 11 | sql-raw-pq 12 | true 13 | true 14 | false 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/t7/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libt7.la 12 | libt7_la_SOURCES = ../TeBkUmFpgAsync.cpp 13 | 14 | libt7_la_LDFLAGS = -no-undefined 15 | libt7_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 16 | 17 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/t7/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declareref std::vector* fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(std::vector::iterator it=fortunes->begin(); it != fortunes->end(); ++it)# 9 | 10 | #rof# 11 |
idmessage
$_S{(*it)->getId()}${(*it)->message}
12 | 13 | -------------------------------------------------------------------------------- /web/t7/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("t7") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | -------------------------------------------------------------------------------- /web/te-benchmark/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB sources 3 | "include/*.h" 4 | "src/*.cpp" 5 | ) 6 | 7 | include_directories("${CMAKE_SOURCE_DIR}/web/te-benchmark/include") 8 | if(BUILD_STATIC_LIBS OR EMSCRIPTEN) 9 | add_library(te-benchmark STATIC ${sources}) 10 | else() 11 | add_library(te-benchmark ${sources}) 12 | endif() 13 | target_link_libraries(te-benchmark ffead-modules ffead-framework ${HAVE_CURLLIB} ${HAVE_SSLLIB} ${HAVE_MEMCACHEDLIB} ${HAVE_ODBCLIB} ${HAVE_MONGOCLIB} ${HAVE_BSONLIB} ${HAVE_ZLIB} ${HAVE_CRYPTOLIB}) 14 | -------------------------------------------------------------------------------- /web/te-benchmark/config/cachememcached.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 11211 7 | 8 | 9 | TeBkRestController.updateCache 10 | 10 11 | 3600 12 | Memcached-Cached 13 | memcached 14 | 15 | -------------------------------------------------------------------------------- /web/te-benchmark/config/cachememory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | TeBkRestController.updateCache 4 | Memory-Cached 5 | memory 6 | 7 | -------------------------------------------------------------------------------- /web/te-benchmark/config/cacheredis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | localhost 6 | 6379 7 | 8 | 9 | TeBkRestController.updateCache 10 | 10 11 | 3600 12 | Redis-Cached 13 | redis 14 | 15 | -------------------------------------------------------------------------------- /web/te-benchmark/config/sdormmongo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | localhost 7 | 27017 8 | hello_world 9 | 10000 10 | 11 | 12 | 30 13 | MongoDB-DSN 14 | mongo 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/te-benchmark/config/sdormmysql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MySQL-DSN 7 | benchmarkdbuser 8 | benchmarkdbpass 9 | 10 | 11 | 30 12 | MySQL-DSN 13 | sql 14 | MySQLMyISAMDialect 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/te-benchmark/config/sdormpostgresql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PostgreSQL-DSN 7 | benchmarkdbuser 8 | benchmarkdbpass 9 | 10 | 11 | 30 12 | PostgreSQL-DSN 13 | sql 14 | PostgresDialect 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /web/te-benchmark/src/autotools/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = subdir-objects 2 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 3 | 4 | AM_CPPFLAGS=-I"../../../../include" -I"../../include" 5 | 6 | packageIdentifier=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin 7 | distdir=${PACKAGE_NAME}-${PACKAGE_VERSION}-src 8 | fprefix=../../../../${packageIdentifier} 9 | prefix=${abs_builddir} 10 | 11 | lib_LTLIBRARIES = libte-benchmark.la 12 | libte_benchmark_la_SOURCES = ../TeBkFortune.cpp \ 13 | ../TeBkFortuneTemplate.cpp \ 14 | ../TeBkMessage.cpp \ 15 | ../TeBkRestController.cpp \ 16 | ../TeBkWorld.cpp 17 | 18 | libte_benchmark_la_LDFLAGS = -no-undefined 19 | libte_benchmark_la_LIBADD = -L"${fprefix}/lib" -lffead-modules -lffead-framework 20 | 21 | #dist_noinst_SCRIPTS = autogen.sh -------------------------------------------------------------------------------- /web/te-benchmark/tpe/fortunes.tpe: -------------------------------------------------------------------------------- 1 | #declare std::vector fortunes# 2 | 3 | 4 | Fortunes 5 | 6 | 7 | 8 | #for(int i=0;i<(int)fortunes.size();i++)# 9 | 10 | #rof# 11 |
idmessage
$_S{fortunes.at(i).getId()}${fortunes.at(i).getMessage()}
12 | 13 | -------------------------------------------------------------------------------- /web/te-benchmark/xmake.lua: -------------------------------------------------------------------------------- 1 | add_includedirs("include/") 2 | 3 | local bindir = "$(projectdir)/ffead-cpp-7.0-bin" 4 | 5 | target("te-benchmark") 6 | set_languages("c++17") 7 | add_deps("ffead-framework") 8 | add_options(getOptions()) 9 | set_kind("shared") 10 | on_load(setIncludes) 11 | add_files("src/*.cpp") 12 | set_installdir(bindir) 13 | --------------------------------------------------------------------------------