using System;
namespace KcpSharp
{
///
/// A transport instance for upper-level connections.
///
/// The type of the upper-level connection.
public interface IKcpTransport : IKcpTransport, IKcpExceptionProducer>, IDisposable
{
///
/// Get the upper-level connection instace. If Start is not called or the transport is closed, will be thrown.
///
/// Start is not called or the transport is closed.
T Connection { get; }
///
/// Create the upper-level connection and start pumping packets from the socket to the upper-level connection.
///
/// The current instance is disposed.
/// has been called before.
void Start();
}
}