My questions pertain to the choice of ack based write throttling in the 
reactive streams implementation using Akka. I currently have multiple, Akka 
based, Protocol Buffers via TCP services running in production at my 
company, and, like the group at spray, I tend to prefer nack based write 
throttling with read suspension back pressure (Empirically, I've found this 
method to be much more performant). From review of the source, it seems 
that the writePump will buffer all incoming data prior to demand being 
established and any outstanding writes being complete, concatenate the 
buffered data into a single ByteString, and then send the data to the 
underlying TCP actor managing the NIO selector for the connection.


   - Is my understanding correct?
   - If so why has this method been selected instead of optimistic write 
   through?
   - Am I missing some implication of this method with respect to dynamic 
   back pressure control? It seems that better performance might be gained by 
   writing to the NIC optimistically until CommandFailed occurs, and that, as 
   the back pressure here is applied by the kernel TCP buffers and I/O device, 
   it should not affect downstream remote  subscribers or affect the back 
   pressure balance between remote hosts
   

Thanks you in advance for you reply,
-K

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to