October 4, 2011


Posted in Uncategorized at 20:10 by almindor

Sorry about the long delay, I seem to be release-stuck. Or perhaps I’m really stuck šŸ˜€ There are a few remaining issues I wish to address before releasing the next version and I can’t seem to get to do it. I’ve had some disappointing moments with my new company and kind of lost motivation to do anything programming related lately. I’ll try to get back on track real soon(tm).
The main parts I want to finish are unit tests for basic lNet functionality (to detect those ugly regressions) and load testing. So in short, next release is a QA release.



  1. mica said,

    heads up šŸ˜‰
    is there any chance of snmp protocol sometime?

    • almindor said,


      no not at this point. SNMP is simply not in my list of priorities. I have very little time for lNet as-is so adding new stuff only happens when really needed (by me that is :P) Feel free to provide tho, I’ll be sure to include any good implementation, or event grant commit rights to people who help.

  2. Han said,

    Hi Almindor,

    I have an issue with connections: I need the connect to time out. Is there a way to set the timeout (of the connection attempt) to some specific value, rather than using the OS default? I’m on Linux.

    Btw, awesome work. nginx uses epoll as well I hear and it’s faster than apache and can handle more concurrent requests. Granted, it’s harder to build event-based networking, but it’s so much faster and lighter! I used it to build a server that can handle a million concurrent connections. That’s quite a few! (more than any server I’ve found anywhere!) A++

    • almindor said,


      do you mean a keep-alive timeout, or “connecting” timeout? If you just need to timeout the “connecting” attempts, you should be able to use any kind of timing appropriate and just close the socket. The connecting itself it not-blocking as well so it should work. If you’re getting blocking-like hangs, it’s because of DNS resolve (this is till using netDB which is blocking), and a firewalled or non-working resolver might cause a block even in lnet because of this. I’d suggest using direct IP address if possible if you get those kind of issues.

      Let me know if I got it right šŸ™‚

      • Han said,


        I found the solution already, which is an annoying solution. I have to sidestep the event system and time things myself. Right now I’m adding stuff to the eventer to allow a timing system to work in parallel. It’s a pain. It’s nice to be able to depend on an error or success event. I really wanted the error to pop up when the connection takes longer than x to establish. No beans AFAICT. I hoped may be a send timeout or recv timeout would work, but no. As far as DNS problems: I don’t use DNS (IP only). I need to handle about 115 requests per second, so I can’t wait on DNS. Also, because of this large volume, external timers per connection are not viable as they would take too many resources.

      • almindor said,

        You should be able to just close the connecting socket after the required amount of time has elapsed. The event mechanism shouldn’t report any “lingering” events on it afterwards.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: