Hi all

I'm new to event loops and am wondering about a couple of things...
Maybe somebody will clarify the questions for me. I'm using ev++ for implementation, if this is of interest.

I'm implementing a TCP-Socket Server on Linux to which a large number of embedded devices is connecting and reporting status every 10-60sec.

The current architecture spawns a thread for the server, accepting connections in an own ev::default_loop. The server there is 2x ev:signal and 1x ev::io(ev::READ) for accepting connections.

On accepting the client gets it's own thread with an ev::dynamic_loop.
For the client I'm using 2x ev::io (1x ev::READ, 1x ev::WRITE), 1x ev::timer, 1x ev::async for stopping.

1. When running an event loop with multiple watchers, per iteration only one watcher is called - is this intended or is my implementation wrong?

2. Having the ev::timer running, at some point the ev::io watchers stop working. are the watcher excluding each other?

3. Sometimes the latency is extremly high, when accepting connections. I can't really find a reason for this. Any hints?

4. Is there any known difference between ev++ and ev I should be caring about?

I started with this examples as a base for the implementation:

http://codefundas.blogspot.ch/2010/09/create-tcp-echo-server-using-libev.html

https://github.com/coolaj86/libev-examples/blob/master/src/unix-echo-server.c

https://gist.github.com/koblas/3364414

Thanks for your help and patience in advance!

Martin

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/mailman/listinfo/libev

Reply via email to