Download libshbuf 0.0.3



Antivirus information.

We did not scan libshbuf 0.0.3 for viruses, adware, spyware or other type of malware. For your own protection it's recommended to have an updated antivirus installed on your computer when downloading and installing programs from freesoftware0.

freesoftware0 lists downloads from various software publishers, so if you have a question regarding a particular software contact the publisher directly. The download links for libshbuf 0.0.3 are provided to you by freesoftware0 without any warranties, representations or gurantees of any kind, so download at your own risk.

Description

libshbuf introduces a new IPC concept: the "shared buffer", a more flexible and faster alternative for standard Unix FIFOs.

Take some shared memory, flavour it with semaphore-based locking and change notifications, and refine it with an easy-to-use API and you get libshbuf's "shared buffers".

Here are some key features of "libshbuf":

· Normally better latency and throughput
· Full access to the buffer at any time
· Connecting processes need not to be children of each other
· Arbitrary buffer lengths
· Memory mapped
· Backlog

The implementation is based on SysV shared memory, semaphores and message queues. It makes use of POSIX pthreads.

Both an easy understandable C library and a basic Python module are provided.

Version 0.0.3 is stable and feature complete.

The concept of "shared buffers" is explicitly designed for high thoughput, low latency streaming of data (e.g. audio) between two processes, where a Unix FIFO is not enough. Thus it is optimized for exactly two connecting peers, a minimum of locking and minimum of copying of memory.

For each shared buffer two shared memory blocks, a semaphore and a messages queue are created. The first shared memory block (aka "control memory block") contains some watermark information about the shared buffer. The second contains the buffer itself.

The semaphore is used for locking access to the control block. The message queue is used for signalling the other side on changes of the buffer.

A shared buffer provider is a process which creates it with with shbuf_create(). A new key for it will be registered (the key is an integer value, the key_t of the control shm). A shared buffer client is the other side of the buffer: it opens an existing buffer with shbuf_open(key).

Only one client and one provider may be connected at once. When using the notifying feature of libshbuf a background thread is started, which listens on the message queue for certain messages. It forwards these messages to a classic FIFO. The main program may listen on this FIFO with a standard select() or poll().

Product's homepage

Related programsOur Recommendations

BeShadowed 0.8a

Since the Oxygen decoration paints it's own shadows, the shadow plugin got pretty step-childed.a)

Download

MaeConverter 1.0

MaeConverter can replace a Merak email server and allow you to switch to a more powerful, standard

Download

Updatorr 0.1.5

deluge-updatorr is a Deluge plugin for automatic torrents updates.If you're periodically checking

Download

LibreOffice 4.2.2 / 4.1.5 / 4.2.3 RC1

LibreOffice is an open source productivity suite that provides all thenecessary office components

Download

ldap-csvexport 1.0

ldap-csvexport is a small Perl program that allows you to easily export LDAP entries from an LDAP

Download

ICARUS VMPSd 1.2.1

ICARUS VMPSd is a VLAN Management policy system daemon (VMPSd) that dynamically satisfies VLAN

Download

DMcsvEditor 2.9

DMcsvEditor is a CSV editor that helps you edit, delete, add and modify records. Support valid

Download

Hedgewars 0.9.20.5

Hedgewars is an open source and multi-platform turn based strategy (TBS) video game especially

Download

NovaFTP 1.1.6

Nova FTP Advanced Edition is a commercial and powerful FTP client designed to ease file transfer

Download

Poweradmin 2.1.3

Poweradmin is a friendly web-based DNS administration tool for Bert Hubert's PowerDNS server. The

Download


Thumbnail of libshbuf 0.0.3

Rating:

4 stars

Price: FREE

Publisher/Developer: Lennart Poettering

Release Date: Jun 9, 2012

View Program Details

Top Downloadslast week