private static bool CanProcessFromQueue() { for (int i = 0; i < HTTPManager.RequestQueue.Count; i++) { if (HTTPManager.FindOrCreateFreeConnection(HTTPManager.RequestQueue[i]) != null) { return(true); } } return(false); }
private static void SendRequestImpl(HTTPRequest request) { HTTPConnection conn = HTTPManager.FindOrCreateFreeConnection(request); if (conn != null) { if (HTTPManager.ActiveConnections.Find((HTTPConnection c) => c == conn) == null) { HTTPManager.ActiveConnections.Add(conn); } HTTPManager.FreeConnections.Remove(conn); request.State = HTTPRequestStates.Processing; request.Prepare(); conn.Process(request); } else { request.State = HTTPRequestStates.Queued; HTTPManager.RequestQueue.Add(request); } }