-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Obsolete Socket.UseOnlyOverlappedIO #47163
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsBackground and MotivationThis property it is only meaningful on .NET Framework where it functions as a ocket-level switch between IOCP and Win32 event based async IO. .NET (Core) Windows sockets are entirely IOCP-based, and the concept of "overlapped IO" does not exist on other platforms, therefore the property contains empty logic, and there is no chance we will ever implement it. To avoid confusion, I suggest to obsolete it. Proposed APIpublic class Socket
{
+ [Obsolete]
public bool UseOnlyOverlappedIO { get; set; }
} RisksBreaking
|
Is it also worth marking it as non browsable? |
In my opinion - yes, so updated the proposal. |
Triage: We agree, it is no-op on .NET Core, let's obsolete it. |
namespace System.Net.Sockets
{
public partial class Socket
{
[Obsolete]
[EditorBrowsable(EditorBrowsableState.Never)]
public bool UseOnlyOverlappedIO { get; set; }
}
public partial enum SocketInformationOptions
{
[Obsolete]
[EditorBrowsable(EditorBrowsableState.Never)]
UseOnlyOverlappedIO = 8,
}
} |
Background and Motivation
This property it is only meaningful on .NET Framework where it functions as a socket-level switch between IOCP and Win32 event based overlapped IO.
.NET (Core) Windows sockets are entirely IOCP-based, and the concept of "overlapped IO" does not exist on other platforms, therefore the property contains empty logic, and there is no chance we will ever implement it. To avoid confusion, I suggest to obsolete and hide it it together with the related flag in
SocketInformationOptions
.Proposed API
Risks
Breaking
/warnaserror
builds when porting to .NET 6. (Which may actually prevent runtime failures.)The text was updated successfully, but these errors were encountered: