<div dir="ltr"><div><div>well, the afsocket one. that's a completely nonblocking destination that implements udp/tcp/unix-stream/unix-dgram/syslog/network sources and destinations.<br><br></div>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.<br><br></div><div>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.<br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">-- <br>Bazsi<br></div></div></div>
<br><div class="gmail_quote">On Fri, Jan 22, 2016 at 12:13 PM, Vincent Bernat <span dir="ltr"><<a href="mailto:bernat@luffy.cx" target="_blank">bernat@luffy.cx</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> ❦ 22 janvier 2016 11:28 +0100, "Scheidler, Balázs" <<a href="mailto:balazs.scheidler@balabit.com">balazs.scheidler@balabit.com</a>> :<br>
<span class=""><br>
> if you want to create a destination, the easiest is to create a<br>
> threaded destination, where the output is an independent thread, that<br>
> can use a synchronous API. Of course this is going to be slower than<br>
> using an asynchronous implementation, but that usually is good enough,<br>
<br>
</span>Oh, there is a way to have an asynchronous implementation? Which module<br>
would be a simple but correct example of this?<br>
<span class="HOEnZb"><font color="#888888">--<br>
Never laugh at live dragons.<br>
-- Bilbo Baggins [J.R.R. Tolkien, "The Hobbit"]<br>
</font></span></blockquote></div><br></div>