diff --git a/AMWD.Protocols.Modbus.Proxy/ModbusTcpProxy.cs b/AMWD.Protocols.Modbus.Proxy/ModbusTcpProxy.cs
index 92d271e..40987e0 100644
--- a/AMWD.Protocols.Modbus.Proxy/ModbusTcpProxy.cs
+++ b/AMWD.Protocols.Modbus.Proxy/ModbusTcpProxy.cs
@@ -22,6 +22,8 @@ namespace AMWD.Protocols.Modbus.Proxy
private bool _isDisposed;
+ private TimeSpan _readWriteTimeout = TimeSpan.FromSeconds(100);
+
private TcpListener _listener;
private CancellationTokenSource _stopCts;
private Task _clientConnectTask = Task.CompletedTask;
@@ -92,8 +94,19 @@ namespace AMWD.Protocols.Modbus.Proxy
///
/// Gets or sets the read/write timeout for the incoming connections (not the !).
+ /// Default: 100 seconds.
///
- public TimeSpan ReadWriteTimeout { get; set; }
+ public TimeSpan ReadWriteTimeout
+ {
+ get => _readWriteTimeout;
+ set
+ {
+ if (value != Timeout.InfiniteTimeSpan && value < TimeSpan.Zero)
+ throw new ArgumentOutOfRangeException(nameof(value));
+
+ _readWriteTimeout = value;
+ }
+ }
#endregion Properties
diff --git a/AMWD.Protocols.Modbus.Tests/AMWD.Protocols.Modbus.Tests.csproj b/AMWD.Protocols.Modbus.Tests/AMWD.Protocols.Modbus.Tests.csproj
index a62e5d1..fdc9b15 100644
--- a/AMWD.Protocols.Modbus.Tests/AMWD.Protocols.Modbus.Tests.csproj
+++ b/AMWD.Protocols.Modbus.Tests/AMWD.Protocols.Modbus.Tests.csproj
@@ -20,10 +20,10 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
-
+
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a30469..eeac134 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-_no changes_
+### Changed
+
+- The `ModbusTcpProxy.ReadWriteTimeout` has a default of 100 seconds (same default as a `HttpClient` has).
## [v0.3.2] (2024-09-04)