I am using select, but since I am doing thousands of connects (flaw in gnutella spec, lists files sharing and kb shared on pong, but not how many open connection slots they have available...). This tends to chew into my good old packet handling time, which there is quite a lot of, due to the nature of gnutella.