WutheringWaves/KcpSharp/IKcpTransportOfT.cs

25 lines
1.1 KiB
C#
Raw Normal View History

2024-02-07 21:41:39 +00:00
using System;
namespace KcpSharp
{
/// <summary>
/// A transport instance for upper-level connections.
/// </summary>
/// <typeparam name="T">The type of the upper-level connection.</typeparam>
public interface IKcpTransport<out T> : IKcpTransport, IKcpExceptionProducer<IKcpTransport<T>>, IDisposable
{
/// <summary>
/// Get the upper-level connection instace. If Start is not called or the transport is closed, <see cref="InvalidOperationException"/> will be thrown.
/// </summary>
/// <exception cref="InvalidOperationException">Start is not called or the transport is closed.</exception>
T Connection { get; }
/// <summary>
/// Create the upper-level connection and start pumping packets from the socket to the upper-level connection.
/// </summary>
/// <exception cref="ObjectDisposedException">The current instance is disposed.</exception>
/// <exception cref="InvalidOperationException"><see cref="Start"/> has been called before.</exception>
void Start();
}
}