well, the afsocket one. that's a completely nonblocking destination that implements udp/tcp/unix-stream/unix-dgram/syslog/network sources and destinations.

It basically boils down to using a LogWriter class that does the heavy lifting at least as long as your transport protocol is simple enough. Probably the simplest is to create a LogProto implementation and let the afsocket driver do the rest.

Asynchronous sources/destinations operate on a set of worker threads (in contrast to a dedicated thread) and are driven by the epoll() based event loop.

--
Bazsi

On Fri, Jan 22, 2016 at 12:13 PM, Vincent Bernat <bernat@luffy.cx> wrote:
 ❦ 22 janvier 2016 11:28 +0100, "Scheidler, Balázs" <balazs.scheidler@balabit.com> :

> if you want to create a destination, the easiest is to create a
> threaded destination, where the output is an independent thread, that
> can use a synchronous API. Of course this is going to be slower than
> using an asynchronous implementation, but that usually is good enough,

Oh, there is a way to have an asynchronous implementation? Which module
would be a simple but correct example of this?
--
Never laugh at live dragons.
                -- Bilbo Baggins [J.R.R. Tolkien, "The Hobbit"]