Moving structure as preparation for docs
This commit is contained in:
43
src/AMWD.Protocols.Modbus.Tcp/Utils/NetworkStreamWrapper.cs
Normal file
43
src/AMWD.Protocols.Modbus.Tcp/Utils/NetworkStreamWrapper.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Sockets;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace AMWD.Protocols.Modbus.Tcp.Utils
|
||||
{
|
||||
/// <inheritdoc cref="NetworkStream" />
|
||||
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
internal class NetworkStreamWrapper(NetworkStream stream) : IDisposable
|
||||
{
|
||||
private readonly NetworkStream _stream = stream;
|
||||
|
||||
/// <inheritdoc cref="NetworkStream.Dispose" />
|
||||
public virtual void Dispose()
|
||||
=> _stream.Dispose();
|
||||
|
||||
/// <inheritdoc cref="Stream.ReadAsync(byte[], int, int, CancellationToken)" />
|
||||
public virtual Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken = default)
|
||||
=> _stream.ReadAsync(buffer, offset, count, cancellationToken);
|
||||
|
||||
#if NET6_0_OR_GREATER
|
||||
/// <inheritdoc cref="NetworkStream.ReadAsync(Memory{byte}, CancellationToken)" />
|
||||
public virtual ValueTask<int> ReadAsync(Memory<byte> buffer, CancellationToken cancellationToken = default)
|
||||
=> _stream.ReadAsync(buffer, cancellationToken);
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Stream.WriteAsync(byte[], int, int, CancellationToken)"/>
|
||||
public virtual Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken = default)
|
||||
=> _stream.WriteAsync(buffer, offset, count, cancellationToken);
|
||||
|
||||
#if NET6_0_OR_GREATER
|
||||
/// <inheritdoc cref="NetworkStream.WriteAsync(ReadOnlyMemory{byte}, CancellationToken)"/>
|
||||
public virtual ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken = default)
|
||||
=> _stream.WriteAsync(buffer, cancellationToken);
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Stream.FlushAsync(CancellationToken)"/>
|
||||
public virtual Task FlushAsync(CancellationToken cancellationToken = default)
|
||||
=> _stream.FlushAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user