dotnet / dotnet/dotnet-api-docs

Better documentation of asynchronous I/O implementation per OS

Open
#3,772 7 comments 1 reaction 1 assignee Assigned to @carlossanlop View on GitHub
area-System.IO Pri3
Dominant language
C#
Stars
949
Forks
1.7k
Avg merge
3d 27m
Merged PRs (30d)
49

Description

Hey all, I'm trying to dive into the sources for async sockets on Posix/Linux.. And I just want to make sure that I'm not imagining...
In posix based systems the async sockets actually queue work items into the ThreadPool, and the actual IO is performed in a synchronous (maybe non-blocking) manner?

Is this right?
I assume that this is a very big split from how things are done on a native win32 system...

I would appreciate any sort of clarification on this matter from someone well aware of the actual implementation

I also think the documentation could benefit from a more detailed explanation of how async I/O works in different scenarios (OS)... I would be more than happy to submit a PR for the documentation, but I just want to make sure I'm reading the situation the right way

Basically people doing async IO need to be aware of how the .NET idioms map to the actual OS...
Better documentation for Windows/Linux/OSX should be very useful

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.