#core API and extensions
facil.io's core library (the fio.h and fio.c files) is a stand alone two-file library, which can be easily used in different projects.
However, there are many tasks that are common to applications that need an evented networking library such as facil.io.
These bundled extensions to the core library provide common functionality. They aren't required and can be safely deleted without effecting the core library.
The following extensions come bundled along with facil.io:
The TLS (
fio_tls) extension for adding SSL/TLS support (requires 3rd party libraries).The CLI (
fio_cli) extension for handling command line arguments.The
FIOBJextension - this extension defines dynamic soft types and JSON helpers, making it easier to handle network bound information which often contains mixed types.The
httpextension - this compound module is everything HTTP and it requires the FIOBJ extension.The
websocketsextension - this is part of the HTTP module and extends it to support Websocket connections.The
redisextension adds Redis connectivity to the core pub/sub service, making horizontal scaling a breeze.