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

Unified Diff: net/spdy/spdy_framer.cc

Issue 10054034: SPDY - replaced SpdySettings (list) with SettingsMap (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 8 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_framer.cc
===================================================================
--- net/spdy/spdy_framer.cc (revision 131881)
+++ net/spdy/spdy_framer.cc (working copy)
@@ -1011,9 +1011,8 @@
/* static */
bool SpdyFramer::ParseSettings(const SpdySettingsControlFrame* frame,
- SpdySettings* settings) {
+ SettingsMap* settings) {
DCHECK_EQ(frame->type(), SETTINGS);
- DCHECK(settings);
Ryan Hamilton 2012/04/12 17:11:21 Did you mean to remove this DCHECK?
ramant (doing other things) 2012/04/12 18:35:59 (my fault. deleted it by mistake) Done.
SpdyFrameReader parser(frame->header_block(), frame->header_block_len());
for (size_t index = 0; index < frame->num_entries(); ++index) {
@@ -1026,9 +1025,12 @@
}
if (!parser.ReadUInt32(&value))
return false;
- SettingsFlagsAndId id_and_flags =
+ SettingsFlagsAndId flags_and_id =
SettingsFlagsAndId::FromWireFormat(frame->version(), id_and_flags_wire);
- settings->insert(settings->end(), std::make_pair(id_and_flags, value));
+ SpdySettingsIds id = static_cast<SpdySettingsIds>(flags_and_id.id());
+ SpdySettingsFlags flags =
+ static_cast<SpdySettingsFlags>(flags_and_id.flags());
+ settings->insert(std::make_pair(id, SettingsFlagsAndValue(flags, value)));
}
return true;
}
@@ -1163,7 +1165,7 @@
}
SpdySettingsControlFrame* SpdyFramer::CreateSettings(
- const SpdySettings& values) const {
+ const SettingsMap& values) const {
SpdyFrameBuilder frame(SpdySettingsControlFrame::size() + 8 * values.size());
frame.WriteUInt16(kControlFlagMask | spdy_version_);
frame.WriteUInt16(SETTINGS);
@@ -1172,11 +1174,12 @@
8 * values.size();
frame.WriteUInt32(settings_size);
frame.WriteUInt32(values.size());
- SpdySettings::const_iterator it = values.begin();
+ SettingsMap::const_iterator it = values.begin();
while (it != values.end()) {
- uint32 id_and_flags_wire = it->first.GetWireFormat(spdy_version_);
+ SettingsFlagsAndId flags_and_id(it->second.first, it->first);
+ uint32 id_and_flags_wire = flags_and_id.GetWireFormat(spdy_version_);
frame.WriteBytes(&id_and_flags_wire, 4);
- frame.WriteUInt32(it->second);
+ frame.WriteUInt32(it->second.second);
++it;
}
return reinterpret_cast<SpdySettingsControlFrame*>(frame.take());

Powered by Google App Engine
This is Rietveld 408576698