59 lines
1.6 KiB
C#
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
|
|
}
|
|
} |