Home | History | Annotate | Download | only in spdy
      1 // Copyright (c) 2010 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 #ifndef NET_SPDY_SPDY_SETTING_STORAGE_H_
      6 #define NET_SPDY_SPDY_SETTING_STORAGE_H_
      7 #pragma once
      8 
      9 #include <map>
     10 #include "base/basictypes.h"
     11 #include "net/base/host_port_pair.h"
     12 #include "net/spdy/spdy_framer.h"
     13 
     14 namespace net {
     15 
     16 // SpdySettingsStorage stores SpdySettings which have been transmitted between
     17 // endpoints for the SPDY SETTINGS frame.
     18 class SpdySettingsStorage {
     19  public:
     20   SpdySettingsStorage();
     21   ~SpdySettingsStorage();
     22 
     23   // Get a copy of the SpdySettings stored for a host.
     24   // If no settings are stored, returns an empty set of settings.
     25   const spdy::SpdySettings& Get(const HostPortPair& host_port_pair) const;
     26 
     27   // Save settings for a host.
     28   void Set(const HostPortPair& host_port_pair,
     29            const spdy::SpdySettings& settings);
     30 
     31  private:
     32   typedef std::map<HostPortPair, spdy::SpdySettings> SettingsMap;
     33 
     34   SettingsMap settings_map_;
     35 
     36   DISALLOW_COPY_AND_ASSIGN(SpdySettingsStorage);
     37 };
     38 
     39 }  // namespace net
     40 
     41 #endif  // NET_SPDY_SPDY_SETTING_STORAGE_H_
     42 
     43