Chromium Code Reviews| 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()); |