using System;
using System.Threading.Tasks;
using System.Threading;
namespace AMWD.Protocols.Modbus.Common.Contracts
{
///
/// Represents a Modbus proxy.
///
public interface IModbusProxy : IDisposable
{
///
/// Starts the proxy.
///
/// A cancellation token used to propagate notification that this operation should be canceled.
Task StartAsync(CancellationToken cancellationToken = default);
///
/// Stops the proxy.
///
/// A cancellation token used to propagate notification that this operation should be canceled.
Task StopAsync(CancellationToken cancellationToken = default);
}
}