NkLIB includes a serie of common utilities and services for NetComposer, but probably useful for other applications:
- nklib_code: Code-generation functions.
- nklib_config: Configuration and syntax management functions.
- nklib_counters: ETS-based process couters. Any process can register and update any number of counters, and they can be shared with other processes. When the process exists, all updates made from that process are reverted.
- nklib_exec: Allows to start and manage external OS processes.
- nklib_headers: General header (HTTP, SIP, etc.) manipulation functions.
- nklib_json: JSON manipulation.
- nklib_links: Generic process extended links.
- nklib_log: Generic log processing.
- nklib_log_gelf: GELF-compatible log and lager backend.
- nklib_parse and nklib_unparse.erl: high perfomance parsers and unparsers for URIs, Schemes, Tokens, Integers and Dates.
- nklib_proc: Yet another ETS-based process registry. It allows a process to register any
term()
as a process identification, and store any metadata with it. When the process exists, these terms are deleted. - nklib_reglist: Datatype and related functions useful for managing lists of processes registering for events.
- nklib_sort: Sorting functions.
- nklib_store: ETS-based database, with auto expiring of records, server-side update funs and calling an user fun on record expire.
- nklib_util: Over 50 generic functions for UIDs, type conversions, dates, hashes, timers, etc.