MonoOni / binarydist

Mono Binary Builds for Testing
9 stars 0 forks source link

Better async I/O #11

Open NattyNarwhal opened 6 years ago

NattyNarwhal commented 6 years ago

Select/poll for IO is pretty primitive compared to what modern OSes offer. AIX has three choices:

Considerations: performance, reliability, i compatibility, ease of adaptation.

I believe stuff for threadpool and utils would have to be changed.

NattyNarwhal commented 6 years ago

Looks like i doesn't have pollset. Disappointing, because the API seems congruent with epoll.

NattyNarwhal commented 6 years ago

Neither are IOCPs.... except maybe they are? The docs say they're in the ILE environment since V5R1; but i doesn't have the header files for it - yet AIX does!

kadler commented 6 years ago

I'm not familiar with IOCPs. If you link to the doc I can check whether it's supported in PASE.

NattyNarwhal commented 6 years ago

ILE docs but not really in PASE.

kadler commented 6 years ago

So AFAICT, ILE supports only 1 socket at a time (and only supports socket file descriptors). AIX docs show it's part of the IOCP kernel extension for AIX, so this would not be supported on IBM i.

What we've done for every other language we've ported out there is just live with poll. Feel free to open an RFE for pollset APIs, though.