blob: a3a3575da0cf05109829c4f6cd3f13450bc0f50c [file] [log] [blame] [view] [raw]
---
title: facil.io - core API and extensions
sidebar: 0.7.x/_sidebar.md
---
# {{{ title }}}
facil.io's [core library](fio) (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 facio.io:
* The [CLI (`fio_cli`)](fio_cli) extension for handling command line arguments.
* The [`FIOBJ`](fiobj) extension - this extension defines dynamic soft types and JSON helpers, making it easier to handle network bound information which often contains mixed types.
* The [`http`](http) extension - this compound module is everything HTTP and it requires the FIOBJ extension.
* The [`websockets`](websockets) extension - this is part of the HTTP module and extends it to support Websocket connections.
* The [`redis`](redis) extension adds Redis connectivity to the core pub/sub service, making horizontal scaling a breeze.