The FieldTrip buffer implements a multi-threaded network transparent
buffer in C/C++. This buffer source code can be integrated in any
EEG/MEG acquisition system. The buffer can be instantiated in a
separate thread by the acquisition software or can run as stand-alone
application. The aquisition software writes the header, data and/or
events to it. It can be accessed from another application (e.g. C/C++,
MATLAB, Python, Java) using the same functions that are used for
writing to it.

The FieldTrip buffer software is licensed under the GNU General
Public License (GPL) and the Berkeley Software Distribution License
(BSD). You can choose the license that has the most advantages for
you. See the file COPYING for details.

The FieldTrip buffer is implemented using a Remote Procedure Call
(RPC), an Inter-process communication technology that allows a
computer program to cause a subroutine or procedure to execute in
another address space (commonly on another computer on a shared
network) without the programmer explicitly coding the details for
this remote interaction.

The RPC routines implemented by the buffer allow a computer program
to put header, data or event information into the buffer, or to get
that information from the buffer. The buffer dynamically maintains
the memory in which the header, data and event information is
represented. Multiple programs can send requests to the buffer at
the same time, which will be handled concurrently in different
threads.
