blob: b173f5de684e5e3f8c89176134d00746a9f2c438 [file] [log] [blame]
[email protected]a4605c52012-03-03 01:12:101// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]87bfa3f2010-09-30 14:54:562// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_
6#define NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_
[email protected]87bfa3f2010-09-30 14:54:567
danakj1fd259a02016-04-16 03:17:098#include <memory>
9
Avi Drissman13fc8932015-12-20 04:40:4610#include "base/macros.h"
[email protected]3b63f8f42011-03-28 01:54:1511#include "base/memory/ref_counted.h"
[email protected]172da1b2011-08-12 15:52:2612#include "net/base/net_export.h"
Yixin Wang10f477ed2017-11-21 04:20:2013#include "net/http/http_network_session.h"
[email protected]87bfa3f2010-09-30 14:54:5614
15namespace net {
16
[email protected]a42dbd142011-11-17 16:42:0217class ClientSocketPoolManager;
[email protected]102e27c2011-02-23 01:01:3118class HttpStreamFactory;
[email protected]5322a7f2011-02-11 20:44:4219
[email protected]172da1b2011-08-12 15:52:2620class NET_EXPORT_PRIVATE HttpNetworkSessionPeer {
[email protected]87bfa3f2010-09-30 14:54:5621 public:
mmenkee65e7af2015-10-13 17:16:4222 // |session| should outlive the HttpNetworkSessionPeer.
23 explicit HttpNetworkSessionPeer(HttpNetworkSession* session);
[email protected]5322a7f2011-02-11 20:44:4224 ~HttpNetworkSessionPeer();
[email protected]87bfa3f2010-09-30 14:54:5625
[email protected]a42dbd142011-11-17 16:42:0226 void SetClientSocketPoolManager(
danakj1fd259a02016-04-16 03:17:0927 std::unique_ptr<ClientSocketPoolManager> socket_pool_manager);
[email protected]87bfa3f2010-09-30 14:54:5628
danakj1fd259a02016-04-16 03:17:0929 void SetHttpStreamFactory(
30 std::unique_ptr<HttpStreamFactory> http_stream_factory);
[email protected]102e27c2011-02-23 01:01:3131
Yixin Wang10f477ed2017-11-21 04:20:2032 HttpNetworkSession::Params* params();
33
[email protected]87bfa3f2010-09-30 14:54:5634 private:
mmenkee65e7af2015-10-13 17:16:4235 HttpNetworkSession* const session_;
[email protected]87bfa3f2010-09-30 14:54:5636
37 DISALLOW_COPY_AND_ASSIGN(HttpNetworkSessionPeer);
38};
39
40} // namespace net
41
42#endif // NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_