Hi, On Tue, Jun 14, 2016 at 1:26 PM, Pavel Rappo <pavel.ra...@oracle.com> wrote: > >> On 13 Jun 2016, at 12:14, Simone Bordet <simone.bor...@gmail.com> wrote: >> >>> Should the application be in charge of chopping outgoing messages in chunks >>> in >>> order to provide better responsiveness when needed? >> >> Not sure what you mean here. > > What I meant here was that Ping's latency doesn't depend on some kind of > magic. > Implementation and/or application has to chop messages/fragments into more > fragments of a certain size *beforehand* to provide more places a control > frame > can be injected to. > > If a giant message/frame has been being sent, there's nothing can be done to > interject a control message quickly. > > If we say a partial message corresponds to 1+ frames on a wire than both > implementation and the application can contribute better responsiveness. If we > say a partial message corresponds to exactly 1 frame, than all the burden of > chopping is on the application. In this case the responsiveness is independent > from an implementation.
That is again a semantic problem, but I think this one is simple: the implementation cannot guarantee that one API call correspond to one frame. There are, for example, fragmentation extensions that fragment/reassemble frames into smaller/larger units, so it that extension is in place the guarantee is lost. Same for gzipping. I know that the current draft does not support extensions, but a 1-to-1 semantic is not something you want to bind to when in future you may add extensions. -- Simone Bordet http://bordet.blogspot.com --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz