[elvin-discuss] Re: Elvin spec
Matthew Phillips
matt at mattp.name
Tue Dec 19 03:56:05 CST 2006
On 18/12/2006, at 10:59 PM, David Arnold wrote:
> -->"Matt" == Matthew Phillips <matt at mattp.name> writes:
>
> Matt> Hi guys, quick suggestion: how does
> Matt> "Transport.TCP.Coalesce-Delay" sound as the name of the
> Matt> connection option to set the TCP coalesce delay option?
>
> a few comments:
>
> there's no need for the "Transport" on the front: the names of
> protocol modules are ok as top-level namespace elements.
>
> TCP is fine, good, and matches existing practice.
Seems reasonable.
> "Coalesce-Delay" is the hard part :-)
>
> here's a summary of the thinking thus far:
>
> TCP.No-Delay
> Pro: basically matches the name of the socket option, so it will
> have
> some familiarity for those who have TCP experience.
> Con: the value is a negative (ie. No-Delay, not Do-Delay), which
> makes
> it constantly painful to figure out whether you want its
> value to
> be 1 or 0
Agreed, negative options are painful.
> TCP.Enable-Nagle
> Pro: includes name of algorithm, which makes finding explanations of
> what it does Google-friendly.
> Con: any Googled reference to "nagle" will only talk about the
> theory,
> and TCP_NODELAY, which isn't useful in deciding whether you
> want
> it 1 or 0.
> Con: it's a bit of an obscure, hairy-unix-hacker name, that many
> people who know what TCP_NODELAY does won't even recognise.
Agreed, esp re hairy-unix-hacker issue ;)
> TCP.Coalesce-Delay
> Pro: matches current deployed systems, almost
> Con: difficult to know what the hell it might mean
> Con: does not really make sense. The option doesn't coalesce
> delays,
> it introduces a small delay while coalescing packets.
> Con: not clear if it should be 1 or 0, again.
Yes, I guess it only makes sense to me because I've already
internalised it.
> TCP.Send-Packets-Immediately
> TCP.Send-Immediately
> TCP.Send-ASAP
I like TCP.Send-Packets-Immediately the best of those. Or perhaps,
using "positive" forms (i.e. the reverse of TCP.Send-Packets-
Immediately, but not put as a negative):
TCP.Queue-Packets
TCP.Coalesce-Packets
I'm happy with any of the TCP.Send* ones or the ones above really.
btw I'm planning to allow defaults for all of the connection options
to be set in the Avis config file. e.g. "Receive-Queue.Drop-
Policy=fail". I'm also going to make the matching case-independent.
Sound like a sane thing to do?
Matt.
More information about the elvin-discuss
mailing list