mongoose/docs/Internals.md
2013-12-16 13:45:13 +00:00

864 B

Mongoose Internals

Mongoose has single-threaded, event-driven, asynchronous, non-blocking core. When mongoose server instance is created, it contains an information about the configuration and the state of each connection:

struct mg_server {
  sock_t listening_sock;          // Listening socket
  union socket_address lsa;       // Listening socket address
  struct linked_list_link active_connections;
  struct linked_list_link uri_handlers;
  char *config_options[NUM_OPTIONS];
  ...
};

A server instance is capable on listening on only one port. After creation, a server instance has a list of active connections, initially empty. It has a list of URI handlers, initially empty, and configuration parameters. Configuration can be altered by mg_set_option(), and new URI handlers could be added by mg_add_uri_handler().