From 0d7dc3756bd78bd0f2654f3cf1043962c34b4e96 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 5 Jun 2022 20:12:25 +0200 Subject: [PATCH] Improved SerialConnection async-implementations --- .../OBD.NET/Communication/SerialConnection.cs | 52 +++++-------------- OBD.NET/OBD.NET/Exceptions/SerialException.cs | 3 +- 2 files changed, 13 insertions(+), 42 deletions(-) diff --git a/OBD.NET/OBD.NET/Communication/SerialConnection.cs b/OBD.NET/OBD.NET/Communication/SerialConnection.cs index 3464092..610dc0f 100644 --- a/OBD.NET/OBD.NET/Communication/SerialConnection.cs +++ b/OBD.NET/OBD.NET/Communication/SerialConnection.cs @@ -59,30 +59,16 @@ public class SerialConnection : ISerialConnection public void Dispose() => _serialPort.Dispose(); - public Task ConnectAsync() + public async Task ConnectAsync() { - try - { - Connect(); - return Task.CompletedTask; - } - catch (Exception ex) - { - return Task.FromException(ex); - } + await Task.Yield(); + Connect(); } - public Task WriteAsync(byte[] data) + public async Task WriteAsync(byte[] data) { - try - { - Write(data); - return Task.CompletedTask; - } - catch (Exception ex) - { - return Task.FromException(ex); - } + await Task.Yield(); + Write(data); } public void Write(byte[] data) => _serialPort.Write(data, 0, data.Length); @@ -151,30 +137,16 @@ public class SerialConnection : ISerialConnection public void Dispose() => _serialPort.Dispose(); - public Task ConnectAsync() + public async Task ConnectAsync() { - try - { - Connect(); - return Task.CompletedTask; - } - catch (Exception ex) - { - return Task.FromException(ex); - } + await Task.Yield(); + Connect(); } - public Task WriteAsync(byte[] data) + public async Task WriteAsync(byte[] data) { - try - { - Write(data); - return Task.CompletedTask; - } - catch (Exception ex) - { - return Task.FromException(ex); - } + await Task.Yield(); + Write(data); } public void Write(byte[] data) => _serialPort.Write(data, 0, data.Length); diff --git a/OBD.NET/OBD.NET/Exceptions/SerialException.cs b/OBD.NET/OBD.NET/Exceptions/SerialException.cs index cd05440..6f873db 100644 --- a/OBD.NET/OBD.NET/Exceptions/SerialException.cs +++ b/OBD.NET/OBD.NET/Exceptions/SerialException.cs @@ -16,7 +16,6 @@ public class SerialException : Exception public SerialException(string message, Exception innerException) : base(message, innerException) { } - - + #endregion } \ No newline at end of file