-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed as not planned
Closed as not planned
Copy link
Labels
api-ready-for-reviewAPI is ready for review, it is NOT ready for implementationAPI is ready for review, it is NOT ready for implementationarea-Meta
Milestone
Description
Background and motivation
As discussed with @danmoseley this issue serves as a follow up for #14336 and is meant to represent the 2nd and 3rd group
API Proposal
Group 2
namespace System.IO {
public abstract class Stream {
public TimeSpan ReadTimeoutTimeSpan { get; set; }
public TimeSpan WriteTimeoutTimeSpan { get; set; }
}
}
namespace System.IO.Ports {
public class SerialPort {
public TimeSpan ReadTimeoutTimeSpan { get; set; }
public TimeSpan WriteTimeoutTimeSpan { get; set; }
}
}
namespace System.Media {
public class SoundPlayer {
public TimeSpan LoadTimeoutTimeSpan { get; set; }
}
}
namespace System.Net.NetworkInformation {
public static class NetworkInformationTimeSpanExtensions {
public static TimeSpan GetPacketReassemblyTimeout(this IPGlobalStatistics statistics);
public static TimeSpan GetMaximumTransmissionTimeout(this TcpStatistics statistics);
public static TimeSpan GetMinimumTransmissionTimeout(this TcpStatistics statistics);
}
}
namespace System.Net.Sockets {
public class Socket {
public TimeSpan ReceiveTimeoutTimeSpan { get; set; }
public TimeSpan ReceiveTimeoutTimeSpan { get; set; }
}
public class TcpClient {
public TimeSpan ReceiveTimeoutTimeSpan { get; set; }
public TimeSpan SendTimeoutTimeSpan { get; set; }
}
}
namespace System.Timers {
public class Timer {
public TimeSpan IntervalTimeSpan { get; set; }
}
}Group 3
namespace System.Data {
// This would need to be a DIM.
public interface IDbCommand {
TimeSpan CommandTimeoutTimeSpan { get; set; }
}
public static class DataTimeSpanExtensions {
public static TimeSpan GetConnectionTimeout(this IDbConnection connection);
}
}
namespace System.Net.Sockets {
public class LingerOption {
public LingerOption(bool enable, TimeSpan time);
public TimeSpan LingerTimeSpan { get; set; }
}
public class Socket {
public void Close(TimeSpan timeout);
}
}Risks
This API does not conflict with other APIs, so I don't see any risk here.
Edit:
Changes to IDbCommand would break implementations (like SqlClient)
/cc @reflectronic
/cc @briangru
/cc @danmoseley
/cc @bartonjs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
api-ready-for-reviewAPI is ready for review, it is NOT ready for implementationAPI is ready for review, it is NOT ready for implementationarea-Meta