you're working below the reliable stream level, you can't just do a >
blocking 'read' for a packet; it pretty much has to be asynchronous
you should look at the early BBN TCP for V6 Unix - they would have faced the same issue,
with their TCP process. They did have the capac() call (which kind of alleviates the need
for non-blocking I/O), but that may have only been available for ports/pipes; I'm not
sure if the ARPANET device supported it.
I did. There is capac() support also for the IMP interface:
(see bottom two functions)
BBN took the same approach as Research: with capac() or select() one can prevent blocking
on read() and write().