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

Reply via email to