Rapid Application Development Library 2.6.2 review

Download
by rbytes.net on

radlib is a C language library developed to abstract details of interprocess communications and common linux/unix system facilities s

License: BSD License
File size: 0K
Developer: Mark Teel
0 stars award from rbytes.net

radlib is a C language library developed to abstract details of interprocess communications and common linux/unix system facilities so that application developers can concentrate on application solutions. It encourages developers (whether expert or novice) to use a proven paradigm of event-driven, asynchronous design. By abstracting interprocess messaging, events, timers, and any I/O device that can be represented as a file descriptor, radlib simplifies the implementation of multi-purpose processes, as well as multi-process applications.

radlib greatly improves typical process performance through the use of shared memory buffers to avoid costly "malloc" and "free" library calls. These buffers are also used for interprocess messages. radlib also utilizes shared memory constructs to provide global message queue management and global "Queue Groups" for increased interprocess communications flexibility.

All shared resources are semaphore protected to avoid issues with concurrent access. In short, radlib is a sincere attempt to provide real-time OS capability on a non-real-time OS. It has been successfully deployed on linux, MacOSX and FreeBSD but there is no reason it would not build and run on any flavor of unix supporting System V IPC.

Specifically, radlib provides fast system buffers, a simple config file utility, events, doubly-linked lists, process logging through syslog, message queues, semaphores, shared memory utilities, timers, stacks, state machine utilities, a process framework, a process management utility to start/stop groups of processes, optional MySQL or PostgreSQL database API, straightforward TCP/streams socket API, and other assorted system utilities.

Proprietary forms of radlib have been used in several mission-critical commercial applications with excellent results. It is light yet very powerful and efficient in real time. radlib is BSD-licensed (free to use in binary or source forms) and distributed as source to be built on the target platform. Build instructions are included in the distribution. See the file "COPYING" in the distribution for details concerning open source software and the BSD license.

radlib is currently used as the foundation of my unix/linux-based weather application, wview, which interfaces with the Davis Vantage Pro console to archive weather data in real-time and periodically (every 60 seconds) generate weather images and html files suitable for use on web sites (see my weather page). It uses multiple radlib processes which illustrate radlib's interprocess communications flexibility. Feel free to download the wview source as another example of radlib implementation.

Rapid Application Development Library 2.6.2 search tags