Where do we attach 3 priority levels to data?
[I]n the context of poll itself, it's undefined. But it's easy to
think that the TCP urgent data would be something usable in this
context. But as you note, the urgent data is a somewhat broken thing
that noone ever really figured out how it was meant to be used or
anything about it at all.
TCP's urgent pointer is well defined. It is not, however, an
out-of-band data stream, nor, despite Berkeley's attempts, can it
really be twisted and bent into one, unless you are on a network which
is high bandwidth, low latency, and low loss (as compared to the
"out-of-band" data rate). Even then, the receiving process has to
handle data promptly. Which, probably not coincidentally, describes
Berkeley's network and most of their network programs at the time.
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.