sconemad

technology, scones, nonsense

Loading...

Profiles

Twitter

GitHub

Launchpad

Subscribe to my RSS Feed

Admin

libsconex

libsconex provides platform-independent wrappers around some common features required by network servers, such as sockets and threads. This makes it very easy to develop a module which will then compile and work successfully on all platforms supported by Sconeserver.

The following is a class diagram for libsconex (click for fullsize readable version):

I/O Streams

Sconex implements platform-independent stream classes for file and socket I/O, with a highly extensible event-driven stream pipeline system. Includes standard stream classes for buffering and tokenizing. Also includes an event driven stream multiplexer for managing non-blocking streams. Sconeserver includes standard socket modules for Local (UNIX domain), IP, IPv6 and Bluetooth sockets.

Modules and Providers

Sconex defines a powerful plugin system, allowing extension modules to be loaded and unloaded at runtime. The provider interface allows modules to dynamically extend the functionality of the system (for example: allowing different types of database to be accessed, implement new object types in SconeScript, or handle new protocols).

SconeScript

A simple object-orientated scripting system which can be used for configuration, inter-module communication and can be embedded into web pages using the Sconesite plugin.

Job scheduling and threading

Sconex implements a flexible job scheduling system, which can operate in either single-threaded (multiplexed) mode, or multi-threaded mode with a dynamic thread pool using POSIX threads.

Updated on 2013-10-31 09:22:11 +0000 | Requested on 2020-10-27 11:29:31 +0000