#if !UNITY_WEBGL || UNITY_EDITOR
using System;
using Best.HTTP.Shared;
using Best.HTTP.Shared.Logger;
namespace Best.HTTP.Hosts.Connections
{
///
/// Common interface for implementations that will coordinate request processing inside a connection.
///
public interface IHTTPRequestHandler : IDisposable
{
KeepAliveHeader KeepAlive { get; }
bool CanProcessMultiple { get; }
///
/// Number of assigned requests to process.
///
int AssignedRequests { get; }
///
/// Maximum number of assignable requests.
///
int MaxAssignedRequests { get; }
ShutdownTypes ShutdownType { get; }
LoggingContext Context { get; }
void Process(HTTPRequest request);
void RunHandler();
///
/// An immediate shutdown request that called only on application closure.
///
void Shutdown(ShutdownTypes type);
}
}
#endif