diff --git a/S7.Net/COTP.cs b/S7.Net/COTP.cs
index d681026..a7d9fd7 100644
--- a/S7.Net/COTP.cs
+++ b/S7.Net/COTP.cs
@@ -74,7 +74,7 @@ namespace S7.Net
/// COTP DPDU instance
public static async Task ReadAsync(Stream stream, CancellationToken cancellationToken)
{
- var tpkt = await TPKT.ReadAsync(stream, cancellationToken);
+ var tpkt = await TPKT.ReadAsync(stream, cancellationToken).ConfigureAwait(false);
if (tpkt.Length == 0)
{
throw new TPDUInvalidException("No protocol data received");
@@ -138,7 +138,7 @@ namespace S7.Net
/// Data in TSDU
public static async Task ReadAsync(Stream stream, CancellationToken cancellationToken)
{
- var segment = await TPDU.ReadAsync(stream, cancellationToken);
+ var segment = await TPDU.ReadAsync(stream, cancellationToken).ConfigureAwait(false);
if (segment.LastDataUnit)
{
@@ -151,7 +151,7 @@ namespace S7.Net
while (!segment.LastDataUnit)
{
- segment = await TPDU.ReadAsync(stream, cancellationToken);
+ segment = await TPDU.ReadAsync(stream, cancellationToken).ConfigureAwait(false);
var previousLength = buffer.Length;
Array.Resize(ref buffer, buffer.Length + segment.Data.Length);
Array.Copy(segment.Data, 0, buffer, previousLength, segment.Data.Length);
diff --git a/S7.Net/PlcAsynchronous.cs b/S7.Net/PlcAsynchronous.cs
index ada92cf..629ac3b 100644
--- a/S7.Net/PlcAsynchronous.cs
+++ b/S7.Net/PlcAsynchronous.cs
@@ -24,11 +24,11 @@ namespace S7.Net
/// A task that represents the asynchronous open operation.
public async Task OpenAsync(CancellationToken cancellationToken = default)
{
- var stream = await ConnectAsync();
+ var stream = await ConnectAsync().ConfigureAwait(false);
try
{
cancellationToken.ThrowIfCancellationRequested();
- await EstablishConnection(stream, cancellationToken);
+ await EstablishConnection(stream, cancellationToken).ConfigureAwait(false);
_stream = stream;
}
catch(Exception)
@@ -41,21 +41,21 @@ namespace S7.Net
{
tcpClient = new TcpClient();
ConfigureConnection();
- await tcpClient.ConnectAsync(IP, Port);
+ await tcpClient.ConnectAsync(IP, Port).ConfigureAwait(false);
return tcpClient.GetStream();
}
private async Task EstablishConnection(NetworkStream stream, CancellationToken cancellationToken)
{
- await RequestConnection(stream, cancellationToken);
- await SetupConnection(stream, cancellationToken);
+ await RequestConnection(stream, cancellationToken).ConfigureAwait(false);
+ await SetupConnection(stream, cancellationToken).ConfigureAwait(false);
}
private async Task RequestConnection(NetworkStream stream, CancellationToken cancellationToken)
{
var requestData = ConnectionRequest.GetCOTPConnectionRequest(CPU, Rack, Slot);
- await stream.WriteAsync(requestData, 0, requestData.Length);
- var response = await COTP.TPDU.ReadAsync(stream, cancellationToken);
+ await stream.WriteAsync(requestData, 0, requestData.Length).ConfigureAwait(false);
+ var response = await COTP.TPDU.ReadAsync(stream, cancellationToken).ConfigureAwait(false);
if (response.PDUType != COTP.PduType.ConnectionConfirmed)
{
throw new InvalidDataException("Connection request was denied", response.TPkt.Data, 1, 0x0d);
@@ -65,9 +65,9 @@ namespace S7.Net
private async Task SetupConnection(NetworkStream stream, CancellationToken cancellationToken)
{
var setupData = GetS7ConnectionSetup();
- await stream.WriteAsync(setupData, 0, setupData.Length);
+ await stream.WriteAsync(setupData, 0, setupData.Length).ConfigureAwait(false);
- var s7data = await COTP.TSDU.ReadAsync(stream, cancellationToken);
+ var s7data = await COTP.TSDU.ReadAsync(stream, cancellationToken).ConfigureAwait(false);
if (s7data.Length < 2)
throw new WrongNumberOfBytesException("Not enough data received in response to Communication Setup");
diff --git a/S7.Net/StreamExtensions.cs b/S7.Net/StreamExtensions.cs
index 4dd5471..749b915 100644
--- a/S7.Net/StreamExtensions.cs
+++ b/S7.Net/StreamExtensions.cs
@@ -46,7 +46,7 @@ namespace S7.Net
int received;
do
{
- received = await stream.ReadAsync(buffer, offset + read, count - read, cancellationToken);
+ received = await stream.ReadAsync(buffer, offset + read, count - read, cancellationToken).ConfigureAwait(false);
read += received;
}
while (read < count && received > 0);
diff --git a/S7.Net/TPKT.cs b/S7.Net/TPKT.cs
index add7239..e3d26f7 100644
--- a/S7.Net/TPKT.cs
+++ b/S7.Net/TPKT.cs
@@ -61,7 +61,7 @@ namespace S7.Net
public static async Task ReadAsync(Stream stream, CancellationToken cancellationToken)
{
var buf = new byte[4];
- int len = await stream.ReadExactAsync(buf, 0, 4, cancellationToken);
+ int len = await stream.ReadExactAsync(buf, 0, 4, cancellationToken).ConfigureAwait(false);
if (len < 4) throw new TPKTInvalidException("TPKT is incomplete / invalid");
var version = buf[0];
@@ -69,7 +69,7 @@ namespace S7.Net
var length = buf[2] * 256 + buf[3]; //BigEndian
var data = new byte[length - 4];
- len = await stream.ReadExactAsync(data, 0, data.Length, cancellationToken);
+ len = await stream.ReadExactAsync(data, 0, data.Length, cancellationToken).ConfigureAwait(false);
if (len < data.Length)
throw new TPKTInvalidException("TPKT payload incomplete / invalid");