Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: net/spdy/spdy_network_transaction_spdy21_unittest.cc

Issue 9802003: SPDY - persist SPDY settings. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/spdy/spdy_network_transaction_spdy21_unittest.cc
===================================================================
--- net/spdy/spdy_network_transaction_spdy21_unittest.cc (revision 127896)
+++ net/spdy/spdy_network_transaction_spdy21_unittest.cc (working copy)
@@ -4455,30 +4455,27 @@
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
EXPECT_EQ("hello!", out.response_data);
- // TODO(rtenneti): Persist spdy settings.
-#ifdef PERSIST_SPDY_SETTINGS
{
// Verify we had two persisted settings.
- spdy::SpdySettings saved_settings =
+ const spdy::SettingsMap& settings_map =
spdy_session_pool->http_server_properties()->GetSpdySettings(
host_port_pair);
- ASSERT_EQ(2u, saved_settings.size());
+ ASSERT_EQ(2u, settings_map.size());
// Verify the first persisted setting.
- spdy::SpdySetting setting = saved_settings.front();
- saved_settings.pop_front();
- EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, setting.first.flags());
- EXPECT_EQ(kSampleId1, setting.first.id());
- EXPECT_EQ(kSampleValue1, setting.second);
+ spdy::SettingsMap::const_iterator it1 = settings_map.find(kSampleId1);
+ EXPECT_NE(it1, settings_map.end());
+ spdy::SettingsFlagsAndValue flags_and_value1 = it1->second;
+ EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1.first);
+ EXPECT_EQ(kSampleValue1, flags_and_value1.second);
// Verify the second persisted setting.
- setting = saved_settings.front();
- saved_settings.pop_front();
- EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, setting.first.flags());
- EXPECT_EQ(kSampleId3, setting.first.id());
- EXPECT_EQ(kSampleValue3, setting.second);
+ spdy::SettingsMap::const_iterator it3 = settings_map.find(kSampleId3);
+ EXPECT_NE(it3, settings_map.end());
+ spdy::SettingsFlagsAndValue flags_and_value3 = it3->second;
+ EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value3.first);
+ EXPECT_EQ(kSampleValue3, flags_and_value3.second);
}
-#endif
}
// Test that when there are settings saved that they are sent back to the
@@ -4518,27 +4515,37 @@
unsigned int kSampleValue2 = 0x0c0c0c0c;
// Manually insert settings into the SpdySettingsStorage here.
{
- spdy::SpdySettings settings;
// First add a persisted setting
- spdy::SettingsFlagsAndId setting1(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
- kSampleId1);
- settings.push_back(std::make_pair(setting1, kSampleValue1));
+ spdy::SettingsFlagsAndValue flags_and_value1(
+ spdy::SETTINGS_FLAG_PLEASE_PERSIST, kSampleValue1);
+ spdy_session_pool->http_server_properties()->SetSpdySetting(
+ host_port_pair, kSampleId1, flags_and_value1);
+
// Next add another persisted setting
- spdy::SettingsFlagsAndId setting2(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
- kSampleId2);
- settings.push_back(std::make_pair(setting2, kSampleValue2));
-
- spdy_session_pool->http_server_properties()->SetSpdySettings(
- host_port_pair, settings);
+ spdy::SettingsFlagsAndValue flags_and_value2(
+ spdy::SETTINGS_FLAG_PLEASE_PERSIST, kSampleValue2);
+ spdy_session_pool->http_server_properties()->SetSpdySetting(
+ host_port_pair, kSampleId2, flags_and_value2);
}
EXPECT_EQ(2u, spdy_session_pool->http_server_properties()->GetSpdySettings(
host_port_pair).size());
// Construct the SETTINGS frame.
- const spdy::SpdySettings& settings =
+ const spdy::SettingsMap& settings_map =
spdy_session_pool->http_server_properties()->GetSpdySettings(
host_port_pair);
+
+ spdy::SpdySettings settings;
+ for (spdy::SettingsMap::const_iterator i = settings_map.begin(),
+ end = settings_map.end(); i != end; ++i) {
+ const uint32 id = i->first;
+ const uint8 flags = i->second.first;
+ const uint32 val = i->second.second;
+ spdy::SettingsFlagsAndId flags_and_id(flags, id);
+ settings.push_back(spdy::SpdySetting(flags_and_id, val));
+ }
+
scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
// Construct the request.
@@ -4577,24 +4584,24 @@
{
// Verify we had two persisted settings.
- spdy::SpdySettings saved_settings =
+ const spdy::SettingsMap& settings_map =
spdy_session_pool->http_server_properties()->GetSpdySettings(
host_port_pair);
- ASSERT_EQ(2u, saved_settings.size());
+ ASSERT_EQ(2u, settings_map.size());
// Verify the first persisted setting.
- spdy::SpdySetting setting = saved_settings.front();
- saved_settings.pop_front();
- EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, setting.first.flags());
- EXPECT_EQ(kSampleId1, setting.first.id());
- EXPECT_EQ(kSampleValue1, setting.second);
+ spdy::SettingsMap::const_iterator it1 = settings_map.find(kSampleId1);
+ EXPECT_NE(it1, settings_map.end());
+ spdy::SettingsFlagsAndValue flags_and_value1 = it1->second;
+ EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1.first);
+ EXPECT_EQ(kSampleValue1, flags_and_value1.second);
// Verify the second persisted setting.
- setting = saved_settings.front();
- saved_settings.pop_front();
- EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, setting.first.flags());
- EXPECT_EQ(kSampleId2, setting.first.id());
- EXPECT_EQ(kSampleValue2, setting.second);
+ spdy::SettingsMap::const_iterator it2 = settings_map.find(kSampleId2);
+ EXPECT_NE(it2, settings_map.end());
+ spdy::SettingsFlagsAndValue flags_and_value2 = it2->second;
+ EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value2.first);
+ EXPECT_EQ(kSampleValue2, flags_and_value2.second);
}
}

Powered by Google App Engine
This is Rietveld 408576698