3 ms·
I never saw what the Bell Labs folks had against Berkeley sockets, aside from them being from Berkeley and not Bell Labs. It's a crufty interface either way, be
by bbanyc 4y ago
I never saw what the Bell Labs folks had against Berkeley sockets, aside from them being from Berkeley and not Bell Labs. It's a crufty interface either way, because you can't shove all the complexity under the rug.
They're optimizing for as few syscalls as possible, I suppose, but in Plan 9 you still create pipes with pipe(), not by writing to a special file. And if you already have pipe(), why not socket()?
- skissane 4y agoThe TLI/XTI t_open() call takes a path to a character device to identify the desired protocol, instead of a bunch of numbers like BSD socket() does. Isn’t the former approach both more Unix-like and more elegant-and also more extensible? Supporting new protocols, multiple TCP/IP stacks - all easily achievable just by creating a different device driver and telling the app to open a different path (or even using something like a mount namespace to make the hardcoded path go to a different device for each app.) With Berkeley sockets it isn’t clear how to achieve that.