diff --git a/docs/mainpage.h b/docs/mainpage.h index 6a6761d..5e1f1e7 100644 --- a/docs/mainpage.h +++ b/docs/mainpage.h @@ -1,117 +1,115 @@ /** * @mainpage * * @section overview Overview * - * libqb is a thread-safe library with the primary purpose of providing high - * performance client server reusable features. + * libqb is a thread-safe library with the primary purpose of providing + * high-performance, reusable features for client-server architecture, + * such as logging, tracing, inter-process communication (IPC), and polling. * - * It provides high performance ipc, and poll. - * - * We don't intend be an all encompassing library, but instead provide very - * specially focused APIs that are highly - * - * tuned for maximum performance for client/server applications. + * We don't intend this to be an all-encompassing library, but instead + * provide very specially focused APIs that are highly tuned for maximum + * performance for client/server applications. * * See the following pages for more info: * - @subpage qb_list_overview * - @subpage qb_atomic_overview * - @subpage qb_array_overview * - @subpage qb_map_overview * - @subpage qb_hdb_overview * - @subpage qb_rb_overview * - @subpage qb_loop_overview * - @subpage qb_log_overview * - @subpage qb_ipc_overview * - @subpage qb_util_overview */ /** * @page qb_rb_overview Ringbuffer * @copydoc qbrb.h * @see qbrb.h */ /** * @page qb_list_overview List * @copydoc qblist.h * @see qblist.h */ /** * @page qb_array_overview Array * @copydoc qbarray.h * @see qbarray.h */ /** * @page qb_map_overview Map * @copydoc qbmap.h * @see qbmap.h */ /** * @page qb_hdb_overview Handle Database * @copydoc qbhdb.h * @see qbhdb.h */ /** * @page qb_loop_overview Main Loop * @copydoc qbloop.h * @see qbloop.h */ /** * @page qb_log_overview Logging * @copydoc qblog.h * @see qblog.h */ /** * @page qb_ipc_overview IPC Overview * * @par Overview * libqb provides a generically reusable very high performance shared memory IPC sytem for client * and service applications. It supports many features including: * - Multiple transport implementations * -# Shared memory implementation for very high performance. * -# Unix sockets * - A synchronous request/response channel and asynchronous response channel per ipc connection. * - User defined private data per IPC connection. * - Ability to call a function per service on ipc connection and disconnection. * - Authenticated IPC connection with ability for developer to define which UIDs and GIDs are valid at connection time. * - Fully abstracted poll system so that any poll library may be used. * - User defined selector for determining the proper function to call per service and id. * * @par Security * The ipc system uses default operating system security mechanics to ensure ipc * connections are validated. A callback used with qb_ipcs_create() is called * for every new ipc connection with the parameters of UID and GID. The callback * then determines if the UID and GID are authenticated for communication. * * @par Performance * For performance QB_IPC_SHM (shared memory) is recogmended. It is tuned for * very high performance. * * @par Client API * @copydoc qbipcc.h * @see qbipcc.h * * @par Server API * @copydoc qbipcs.h * @see qbipcs.h * */ /** * @page qb_atomic_overview Atomic operations * @copydoc qbatomic.h * @see qbatomic.h */ /** * @page qb_util_overview Common Utilities * @copydoc qbutil.h * @see qbutil.h */