tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: poll(): IN/OUT vs {RD,WR}NORM



>>> However, the urgent pointer is close to useless in today's network,
>>> in that there are few-to-no use cases that it is actually useful
>>> for.
> That's probably correct too.  It is however still used (and still
> works) in telnet - though that is not a frequently used application
> any more.

I question whether it actually works except by accident; see RFC 6093.

> [That's where the off by one occurred, there were two references to
> it, one suggested that the urgent pointer would reference the final
> byte of what is considered urgent, the other that it would reference
> one beyond that, that is, the first byte beyond the urgent data.
> This was corrected in the Hosts Requirements RFCs, somewhere in the
> mid 80's if I remember them, roughly.]

But only a few implementors paid any attention, it appears.

> That is all very simple, and works very well, particularly on high
> latency or lossy networks, as long as you're not expecting "urgent"
> to mean "out of band" or "arrive quickly" or anything else like that.

But the facility it provides is of little-to-no use.  I can't recall
anything other than TELNET that actually uses it, though I am by no
stretch fmailiar with more than some of the commonest protocols out
there.

Furthermore, given that probably the most popular API to TCP, sockets,
botched it by trying to turn it into an out-of-band data stream, then
botched it further by pointing the urgent sequence number to the wrong
place, I'd say it is questionable whether it is good for _anything_ any
longer.

> If an application needs a mechanism like this, it works well.

That's a bit like saying that car hand crank starter handles are useful
if you need them: strictly true, but to a first and even second
approximation both the statement and the thing stated about are
irrelevant to everyone.

Also, it's true only provided you don't use sockets for your API (or
fixed sockets - has anyone done a TCP socket interface that exposes the
urgent popinter _properly_?), and provided your and the peer's
implementations agree on which sequence number goes in the urgent
field.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index