4 ms·
“Some of you might want to do things the Pure Windows Way. That’s very gutsy of you, and this is what you have to do: run out and get Unix immediately!” He's j
by kebman 6y ago
“Some of you might want to do things the Pure Windows Way. That’s very gutsy of you, and this is what you have to do: run out and get Unix immediately!”
He's just joking of course. At first glance this seems like a great read. And he's funny too! :)
I do wonder how much of this is applicable to Rust though.
- kruxigt 6y ago"At first glance this seems like a great read" Agree!
- hoseja 6y agoSadly the Windows asynchronous (or something, I never quite got it) networking API seems very powerful. But I never found a comprehensible manual/tutorial for it.
- whizzter 6y agoDr.Dobbs has had at least 2 articles on it. https://www.drdobbs.com/open-source/io-multiplexing-scalable-socket-servers/184405553 https://www.drdobbs.com/open-source/io-multiplexing-scalable... (Also covers select and /dev/poll but lacks epoll,kqueue) https://www.drdobbs.com/cpp/multithreaded-asynchronous-io-io-comple/201202921 https://www.drdobbs.com/cpp/multithreaded-asynchronous-io-io... I remember chatting in the fringes when nodeJS was doing their proper win32 porting and they did have some issues getting things stable due to lack of documentation but iirc got some help from MS so the libuv code should be usable as a reference for behaviours (As well as being fairly battle tested by now). https://github.com/libuv/libuv/tree/v1.x/src/win https://github.com/libuv/libuv/tree/v1.x/src/win
- the_only_law 6y agoI’ve been trying to figure out the entire windows networking stack recently, particularly some more obscure parts and the docs have been pretty bad unfortunately. A lot of the higher level stuff fees really superficial and the lower level stuff it’s it own mess (all sorts of broken links and links to outdated versions in the NDIS docs).