59 lines
1.6 KiB
C#

namespace BestHTTP
{
/// <summary>
/// Possible states of a Http Connection.
/// The ideal lifecycle of a connection that has KeepAlive is the following: Initial => [Processing => WaitForRecycle => Free] => Closed.
/// </summary>
internal enum HTTPConnectionStates
{
/// <summary>
/// This Connection instance is just created.
/// </summary>
Initial,
/// <summary>
/// This Connection is processing a request
/// </summary>
Processing,
/// <summary>
/// The request redirected.
/// </summary>
Redirected,
/// <summary>
/// The connection is upgraded from http.
/// </summary>
Upgraded,
/// <summary>
/// Wait for the upgraded protocol to shut down.
/// </summary>
WaitForProtocolShutdown,
/// <summary>
/// The Connection is finished processing the request, it's waiting now to deliver it's result.
/// </summary>
WaitForRecycle,
/// <summary>
/// The request result's delivered, it's now up to processing again.
/// </summary>
Free,
/// <summary>
/// A request from outside of the plugin to abort the connection.
/// </summary>
AbortRequested,
/// <summary>
/// The request is not finished in the given time.
/// </summary>
TimedOut,
/// <summary>
/// If it's not a KeepAlive connection, or something happend, then we close this connection and remove from the pool.
/// </summary>
Closed
}
}