{"repo":"aisk/libae","free":true,"listed":false,"github":"https://github.com/aisk/libae","clone":"git clone https://github.com/aisk/libae.git","description":"redis's async event loop library","language":"C","stars":191,"topics":["asyncio","redis","events","c","network"],"license":"BSD-3-Clause","category":"databases-storage","readme_excerpt":"libae Redis's async event library, extracted as a small reusable C library. This copy is taken from Redis 7.2, the last Redis release still distributed under the BSD license. Supported Event Multiplexing Models epoll kqueue evport select The backend is selected at compile time according to platform support. Build Build the static library: Build the static library with CMake: Build the bundled examples: Build the bundled examples with CMake: Build everything: Clean generated files: Install the library and exported CMake target files: Examples Timer The timer example registers multiple time events and prints a message roughly once per second: See example/timer.c for the full source. Echo Server The echo example starts a TCP server on port 8000 : Then connect from another terminal: See example/echo.c for the full source. Source Layout src/ae.c and src/ae.h : core event loop implementation and public API src/anet.c and src/anet.h : networking helpers src/monotonic.c and src/monotonic.h : monotonic clock helpers src/ae epoll.c , src/ae kqueue.c , src/ae evport.c , src/ae select.c : backend-specific pollers example/ : runnable examples Notes This repository currently builds a static library ( libae.a ) and two example binaries ( timer , echo ). Original document","default_branch":null,"files":null,"tree":[],"storefront":"/r/aisk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aisk/libae/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}