using System; namespace Modbus.IO { /// /// Represents a serial resource. /// Implementor - http://en.wikipedia.org/wiki/Bridge_Pattern /// public interface IStreamResource : IDisposable { /// /// Indicates that no timeout should occur. /// int InfiniteTimeout { get; } /// /// Gets or sets the number of milliseconds before a timeout occurs when a read operation does not finish. /// int ReadTimeout { get; set; } /// /// Gets or sets the number of milliseconds before a timeout occurs when a write operation does not finish. /// int WriteTimeout { get; set; } /// /// Purges the receive buffer. /// void DiscardInBuffer(); /// /// Reads a number of bytes from the input buffer and writes those bytes into a byte array at the specified offset. /// /// The byte array to write the input to. /// The offset in the buffer array to begin writing. /// The number of bytes to read. /// The number of bytes read. int Read(byte[] buffer, int offset, int count); /// /// Writes a specified number of bytes to the port from an output buffer, starting at the specified offset. /// /// The byte array that contains the data to write to the port. /// The offset in the buffer array to begin writing. /// The number of bytes to write. void Write(byte[] buffer, int offset, int count); } }