Home | History | Annotate | Download | only in net
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // A Preconnect instance maintains state while a TCP/IP connection is made, and
      6 // and then released into the pool of available connections for future use.
      7 
      8 #ifndef CHROME_BROWSER_NET_PRECONNECT_H_
      9 #define CHROME_BROWSER_NET_PRECONNECT_H_
     10 
     11 #include "chrome/browser/net/url_info.h"
     12 
     13 class GURL;
     14 
     15 namespace net {
     16 class URLRequestContextGetter;
     17 }
     18 
     19 namespace chrome_browser_net {
     20 
     21 // Try to preconnect.  Typically motivated by OMNIBOX to reach search service.
     22 // |count| may be used to request more than one connection be established in
     23 // parallel.
     24 void PreconnectOnUIThread(const GURL& url,
     25                           const GURL& first_party_for_cookies,
     26                           UrlInfo::ResolutionMotivation motivation,
     27                           int count,
     28                           net::URLRequestContextGetter* getter);
     29 
     30 // Try to preconnect.  Typically used by predictor when a subresource probably
     31 // needs a connection. |count| may be used to request more than one connection
     32 // be established in parallel.
     33 void PreconnectOnIOThread(const GURL& url,
     34                           const GURL& first_party_for_cookies,
     35                           UrlInfo::ResolutionMotivation motivation,
     36                           int count,
     37                           net::URLRequestContextGetter* getter);
     38 
     39 }  // namespace chrome_browser_net
     40 
     41 #endif  // CHROME_BROWSER_NET_PRECONNECT_H_
     42