All Projects → lhmouse → Poseidon

lhmouse / Poseidon

Licence: bsd-3-clause
Poseidon Server Framework (refactor WIP)

Projects that are alternatives of or similar to Poseidon

Compose Server Side
Experiment with server side rendering using compose and ktor
Stars: ✭ 131 (-19.14%)
Mutual labels:  coroutines, server, websocket
Venice
Coroutines, structured concurrency and CSP for Swift on macOS and Linux.
Stars: ✭ 1,501 (+826.54%)
Mutual labels:  coroutines, fibers, server
May
rust stackful coroutine library
Stars: ✭ 909 (+461.11%)
Mutual labels:  coroutines, fibers
Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-81.48%)
Mutual labels:  server, epoll
Socketcluster Server
Minimal server module for SocketCluster
Stars: ✭ 70 (-56.79%)
Mutual labels:  server, websocket
Fibertaskinglib
A library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies.
Stars: ✭ 679 (+319.14%)
Mutual labels:  coroutines, fibers
Simple Websocket Server
A very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Boost.Asio and OpenSSL. Created to be an easy way to make WebSocket endpoints in C++.
Stars: ✭ 685 (+322.84%)
Mutual labels:  server, websocket
Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-62.35%)
Mutual labels:  server, websocket
Glass Isc Dhcp
Glass - ISC DHCP Server Interface
Stars: ✭ 486 (+200%)
Mutual labels:  server, websocket
Mioco
[no longer maintained] Scalable, coroutine-based, fibers/green-threads for Rust. (aka MIO COroutines).
Stars: ✭ 125 (-22.84%)
Mutual labels:  coroutines, fibers
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-18.52%)
Mutual labels:  server, websocket
Agoo
A High Performance HTTP Server for Ruby
Stars: ✭ 679 (+319.14%)
Mutual labels:  server, websocket
Impress
Enterprise application server for Node.js and Metarhia private cloud ⚡
Stars: ✭ 634 (+291.36%)
Mutual labels:  server, websocket
Clusterws
💥 Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js
Stars: ✭ 868 (+435.8%)
Mutual labels:  server, websocket
Libfiber
The high performance coroutine library for Linux/FreeBSD/MacOS/Windows, supporting select/poll/epoll/kqueue/iocp/windows GUI
Stars: ✭ 519 (+220.37%)
Mutual labels:  coroutines, epoll
Gaia
C++ framework for rapid server development
Stars: ✭ 58 (-64.2%)
Mutual labels:  fibers, server
Swoole Src
🚀 Coroutine-based concurrency library for PHP
Stars: ✭ 17,175 (+10501.85%)
Mutual labels:  coroutines, websocket
Elle
The Elle coroutine-based asynchronous C++ development framework.
Stars: ✭ 459 (+183.33%)
Mutual labels:  coroutines, fibers
Boson
A C++14 framework for asynchronous I/O, cooperative multitasking and green threads scheduling
Stars: ✭ 154 (-4.94%)
Mutual labels:  coroutines, fibers
Crossbar
Crossbar.io - WAMP application router
Stars: ✭ 1,957 (+1108.02%)
Mutual labels:  server, websocket

The Poseidon Server Framework

GNU nano for the win!

Features

  1. Coroutines (fibers)
  2. Native TCP, TLS over TCP and UDP over either IPv4 or IPv6
  3. I/O multiplexing basing on epoll
  4. Configurable add-ons
  5. Asynchronous MySQL access (optional, WIP)
  6. Asynchronous MongoDB access (optional, WIP)

How to build

Prerequisite

  1. GCC (>= 6)
  2. autoconf
  3. automake
  4. libtool
  5. OpenSSL (>= 1.1)
  6. cmake (only for building MySQL and MongoDB libraries)

Build and install MySQL and MongoDB client libraries

cd third/
./build_libmysqlclient_deb.sh
./build_libmongoc_deb.sh
cd ..

Build and install Asteria

git submodule update --init
cd asteria/
git checkout master
git pull
autoreconf -i
./configure --disable-static
make -j$(nproc)
./makedeb.sh
cd ..

Build Poseidon

autoreconf -i
./configure --disable-static
make -j$(nproc)

Start Poseidon in build tree

./run.sh

Start Poseidon within GDB

./run.sh gdb --args

Install Poseidon and create default configuration file

./makedeb.sh
sudo cp /usr/local/etc/poseidon/main.template.conf  \
        /usr/local/etc/poseidon/main.conf

Start installed Poseidon

poseidon /usr/local/etc/poseidon

Notes

  1. C++14 is required by Asteria.
  2. Only Linux is supported.
  3. OpenSSL 1.1 is required.

License

BSD 3-Clause License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].