On 07/Jul/2009 06:30, Regis wrote: > As we known, Harmony used loop socket to implement j.n.c.Pipe. On some > platforms, data written from one socket side would not send to other > side immediately, that cause data delay in our Pipe. > > It's a problem in o.a.h.nio.internal.SelectorImpl, which used Pipe to > wake up blocked select, so if the delay happened, select would not be > interrupted, even Selector.wakeup() has finished. So I propose that > setting tcp_nodelay to true for Pipe.SinkChannel to help this. I'm not > sure whether this change may affect Pipe performance because of not > using socket buffer. What do you think?
Just checking, do you mean setting the TCP_NODELAY only on the socket that you are using to wake up the select() or on all Pipe sockets? Regards, Tim