summaryrefslogtreecommitdiffstats
path: root/net/spdy
diff options
context:
space:
mode:
Diffstat (limited to 'net/spdy')
-rw-r--r--net/spdy/spdy_http_stream.cc4
-rw-r--r--net/spdy/spdy_network_transaction_unittest.cc8
-rw-r--r--net/spdy/spdy_proxy_client_socket.cc9
-rw-r--r--net/spdy/spdy_session.cc70
-rw-r--r--net/spdy/spdy_session_pool.cc28
-rw-r--r--net/spdy/spdy_stream.cc37
6 files changed, 88 insertions, 68 deletions
diff --git a/net/spdy/spdy_http_stream.cc b/net/spdy/spdy_http_stream.cc
index 737eba5..89002cb 100644
--- a/net/spdy/spdy_http_stream.cc
+++ b/net/spdy/spdy_http_stream.cc
@@ -113,7 +113,7 @@ int SpdyHttpStream::ReadResponseBody(
memcpy(new_buffer->data(), &(data->data()[bytes_to_copy]),
bytes_remaining);
response_body_.pop_front();
- response_body_.push_front(new_buffer);
+ response_body_.push_front(make_scoped_refptr(new_buffer));
}
bytes_read += bytes_to_copy;
}
@@ -273,7 +273,7 @@ void SpdyHttpStream::OnDataReceived(const char* data, int length) {
// Save the received data.
IOBufferWithSize* io_buffer = new IOBufferWithSize(length);
memcpy(io_buffer->data(), data, length);
- response_body_.push_back(io_buffer);
+ response_body_.push_back(make_scoped_refptr(io_buffer));
if (user_buffer_) {
// Handing small chunks of data to the caller creates measurable overhead.
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc
index 8b2dc92..d72a2a7 100644
--- a/net/spdy/spdy_network_transaction_unittest.cc
+++ b/net/spdy/spdy_network_transaction_unittest.cc
@@ -4151,8 +4151,8 @@ TEST_P(SpdyNetworkTransactionTest, ProxyConnect) {
BoundNetLog(), GetParam());
helper.session_deps().reset(new SpdySessionDependencies(
ProxyService::CreateFixedFromPacResult("PROXY myproxy:70")));
- helper.SetSession(SpdySessionDependencies::SpdyCreateSession(
- helper.session_deps().get()));
+ helper.SetSession(make_scoped_refptr(
+ SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get())));
helper.RunPreTestSetup();
HttpNetworkTransaction* trans = helper.trans();
@@ -4254,8 +4254,8 @@ TEST_P(SpdyNetworkTransactionTest, DirectConnectProxyReconnect) {
// that the session pool key used does is just "DIRECT".
helper.session_deps().reset(new SpdySessionDependencies(
ProxyService::CreateFixedFromPacResult("DIRECT; PROXY myproxy:70")));
- helper.SetSession(SpdySessionDependencies::SpdyCreateSession(
- helper.session_deps().get()));
+ helper.SetSession(make_scoped_refptr(
+ SpdySessionDependencies::SpdyCreateSession(helper.session_deps().get())));
SpdySessionPool* spdy_session_pool = helper.session()->spdy_session_pool();
helper.RunPreTestSetup();
diff --git a/net/spdy/spdy_proxy_client_socket.cc b/net/spdy/spdy_proxy_client_socket.cc
index 69e93a6..8066007 100644
--- a/net/spdy/spdy_proxy_client_socket.cc
+++ b/net/spdy/spdy_proxy_client_socket.cc
@@ -310,8 +310,8 @@ int SpdyProxyClientSocket::DoSendRequest() {
if (net_log_.IsLoggingAllEvents()) {
net_log_.AddEvent(
NetLog::TYPE_HTTP_TRANSACTION_SEND_TUNNEL_HEADERS,
- new NetLogHttpRequestParameter(
- request_line, request_headers));
+ make_scoped_refptr(new NetLogHttpRequestParameter(
+ request_line, request_headers)));
}
request_.extra_headers.MergeFrom(request_headers);
@@ -350,7 +350,7 @@ int SpdyProxyClientSocket::DoReadReplyComplete(int result) {
if (net_log_.IsLoggingAllEvents()) {
net_log_.AddEvent(
NetLog::TYPE_HTTP_TRANSACTION_READ_TUNNEL_RESPONSE_HEADERS,
- new NetLogHttpResponseParameter(response_.headers));
+ make_scoped_refptr(new NetLogHttpResponseParameter(response_.headers)));
}
if (response_.headers->response_code() == 200)
@@ -406,7 +406,8 @@ void SpdyProxyClientSocket::OnDataReceived(const char* data, int length) {
// Save the received data.
scoped_refptr<IOBuffer> io_buffer(new IOBuffer(length));
memcpy(io_buffer->data(), data, length);
- read_buffer_.push_back(new DrainableIOBuffer(io_buffer, length));
+ read_buffer_.push_back(
+ make_scoped_refptr(new DrainableIOBuffer(io_buffer, length)));
}
if (read_callback_) {
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
index 3af9079..7035bb8 100644
--- a/net/spdy/spdy_session.cc
+++ b/net/spdy/spdy_session.cc
@@ -255,7 +255,8 @@ SpdySession::SpdySession(const HostPortProxyPair& host_port_proxy_pair,
DCHECK(HttpStreamFactory::spdy_enabled());
net_log_.BeginEvent(
NetLog::TYPE_SPDY_SESSION,
- new NetLogSpdySessionParameter(host_port_proxy_pair_));
+ make_scoped_refptr(
+ new NetLogSpdySessionParameter(host_port_proxy_pair_)));
// TODO(mbelshe): consider randomization of the stream_hi_water_mark.
@@ -463,7 +464,8 @@ int SpdySession::WriteSynStream(
if (net_log().IsLoggingAllEvents()) {
net_log().AddEvent(
NetLog::TYPE_SPDY_SESSION_SYN_STREAM,
- new NetLogSpdySynParameter(headers, flags, stream_id));
+ make_scoped_refptr(
+ new NetLogSpdySynParameter(headers, flags, stream_id)));
}
return ERR_IO_PENDING;
@@ -494,8 +496,10 @@ int SpdySession::WriteStreamData(spdy::SpdyStreamId stream_id,
// as stalled - because only the session knows for sure when the
// stall occurs.
stream->set_stalled_by_flow_control(true);
- net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_STALLED_ON_SEND_WINDOW,
- new NetLogIntegerParameter("stream_id", stream_id));
+ net_log().AddEvent(
+ NetLog::TYPE_SPDY_SESSION_STALLED_ON_SEND_WINDOW,
+ make_scoped_refptr(
+ new NetLogIntegerParameter("stream_id", stream_id)));
return ERR_IO_PENDING;
}
int new_len = std::min(len, stream->send_window_size());
@@ -506,9 +510,11 @@ int SpdySession::WriteStreamData(spdy::SpdyStreamId stream_id,
stream->DecreaseSendWindowSize(len);
}
- if (net_log().IsLoggingAllEvents())
- net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_SEND_DATA,
- new NetLogSpdyDataParameter(stream_id, len, flags));
+ if (net_log().IsLoggingAllEvents()) {
+ net_log().AddEvent(
+ NetLog::TYPE_SPDY_SESSION_SEND_DATA,
+ make_scoped_refptr(new NetLogSpdyDataParameter(stream_id, len, flags)));
+ }
// TODO(mbelshe): reduce memory copies here.
scoped_ptr<spdy::SpdyDataFrame> frame(
@@ -529,7 +535,7 @@ void SpdySession::ResetStream(
net_log().AddEvent(
NetLog::TYPE_SPDY_SESSION_SEND_RST_STREAM,
- new NetLogSpdyRstParameter(stream_id, status));
+ make_scoped_refptr(new NetLogSpdyRstParameter(stream_id, status)));
scoped_ptr<spdy::SpdyRstStreamControlFrame> rst_frame(
spdy_framer_.CreateRstStream(stream_id, status));
@@ -829,8 +835,9 @@ void SpdySession::CloseSessionOnError(net::Error err, bool remove_from_pool) {
scoped_refptr<SpdySession> self(this);
DCHECK_LT(err, OK);
- net_log_.AddEvent(NetLog::TYPE_SPDY_SESSION_CLOSE,
- new NetLogIntegerParameter("status", err));
+ net_log_.AddEvent(
+ NetLog::TYPE_SPDY_SESSION_CLOSE,
+ make_scoped_refptr(new NetLogIntegerParameter("status", err)));
// Don't close twice. This can occur because we can have both
// a read and a write outstanding, and each can complete with
@@ -912,7 +919,7 @@ void SpdySession::DeleteStream(spdy::SpdyStreamId id, int status) {
void SpdySession::RemoveFromPool() {
if (spdy_session_pool_) {
- spdy_session_pool_->Remove(this);
+ spdy_session_pool_->Remove(make_scoped_refptr(this));
spdy_session_pool_ = NULL;
}
}
@@ -963,9 +970,12 @@ void SpdySession::OnError(spdy::SpdyFramer* framer) {
void SpdySession::OnStreamFrameData(spdy::SpdyStreamId stream_id,
const char* data,
size_t len) {
- if (net_log().IsLoggingAllEvents())
- net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_RECV_DATA,
- new NetLogSpdyDataParameter(stream_id, len, spdy::SpdyDataFlags()));
+ if (net_log().IsLoggingAllEvents()) {
+ net_log().AddEvent(
+ NetLog::TYPE_SPDY_SESSION_RECV_DATA,
+ make_scoped_refptr(new NetLogSpdyDataParameter(
+ stream_id, len, spdy::SpdyDataFlags())));
+ }
if (!IsStreamActive(stream_id)) {
// NOTE: it may just be that the stream was cancelled.
@@ -999,9 +1009,9 @@ void SpdySession::OnSyn(const spdy::SpdySynStreamControlFrame& frame,
if (net_log_.IsLoggingAllEvents()) {
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_PUSHED_SYN_STREAM,
- new NetLogSpdySynParameter(
+ make_scoped_refptr(new NetLogSpdySynParameter(
headers, static_cast<spdy::SpdyControlFlags>(frame.flags()),
- stream_id));
+ stream_id)));
}
// Server-initiated streams should have even sequence numbers.
@@ -1097,9 +1107,9 @@ void SpdySession::OnSynReply(const spdy::SpdySynReplyControlFrame& frame,
if (net_log().IsLoggingAllEvents()) {
net_log().AddEvent(
NetLog::TYPE_SPDY_SESSION_SYN_REPLY,
- new NetLogSpdySynParameter(
+ make_scoped_refptr(new NetLogSpdySynParameter(
headers, static_cast<spdy::SpdyControlFlags>(frame.flags()),
- stream_id));
+ stream_id)));
}
Respond(*headers, stream);
@@ -1160,7 +1170,8 @@ void SpdySession::OnRst(const spdy::SpdyRstStreamControlFrame& frame) {
net_log().AddEvent(
NetLog::TYPE_SPDY_SESSION_RST_STREAM,
- new NetLogSpdyRstParameter(stream_id, frame.status()));
+ make_scoped_refptr(
+ new NetLogSpdyRstParameter(stream_id, frame.status())));
bool valid_stream = IsStreamActive(stream_id);
if (!valid_stream) {
@@ -1185,9 +1196,10 @@ void SpdySession::OnRst(const spdy::SpdyRstStreamControlFrame& frame) {
void SpdySession::OnGoAway(const spdy::SpdyGoAwayControlFrame& frame) {
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_GOAWAY,
- new NetLogSpdyGoAwayParameter(frame.last_accepted_stream_id(),
- active_streams_.size(),
- unclaimed_pushed_streams_.size()));
+ make_scoped_refptr(
+ new NetLogSpdyGoAwayParameter(frame.last_accepted_stream_id(),
+ active_streams_.size(),
+ unclaimed_pushed_streams_.size())));
RemoveFromPool();
CloseAllStreams(net::ERR_ABORTED);
@@ -1210,7 +1222,7 @@ void SpdySession::OnSettings(const spdy::SpdySettingsControlFrame& frame) {
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_RECV_SETTINGS,
- new NetLogSpdySettingsParameter(settings));
+ make_scoped_refptr(new NetLogSpdySettingsParameter(settings)));
}
void SpdySession::OnWindowUpdate(
@@ -1238,9 +1250,8 @@ void SpdySession::OnWindowUpdate(
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_SEND_WINDOW_UPDATE,
- new NetLogSpdyWindowUpdateParameter(stream_id,
- delta_window_size,
- stream->send_window_size()));
+ make_scoped_refptr(new NetLogSpdyWindowUpdateParameter(
+ stream_id, delta_window_size, stream->send_window_size())));
}
void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id,
@@ -1251,9 +1262,8 @@ void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id,
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_RECV_WINDOW_UPDATE,
- new NetLogSpdyWindowUpdateParameter(stream_id,
- delta_window_size,
- stream->recv_window_size()));
+ make_scoped_refptr(new NetLogSpdyWindowUpdateParameter(
+ stream_id, delta_window_size, stream->recv_window_size())));
scoped_ptr<spdy::SpdyWindowUpdateControlFrame> window_update_frame(
spdy_framer_.CreateWindowUpdate(stream_id, delta_window_size));
@@ -1268,7 +1278,7 @@ void SpdySession::SendSettings() {
net_log_.AddEvent(
NetLog::TYPE_SPDY_SESSION_SEND_SETTINGS,
- new NetLogSpdySettingsParameter(settings));
+ make_scoped_refptr(new NetLogSpdySettingsParameter(settings)));
// Create the SETTINGS frame and send it.
scoped_ptr<spdy::SpdySettingsControlFrame> settings_frame(
diff --git a/net/spdy/spdy_session_pool.cc b/net/spdy/spdy_session_pool.cc
index fe2a310..aa807af 100644
--- a/net/spdy/spdy_session_pool.cc
+++ b/net/spdy/spdy_session_pool.cc
@@ -41,9 +41,10 @@ scoped_refptr<SpdySession> SpdySessionPool::Get(
if (list->size() >= static_cast<unsigned int>(g_max_sessions_per_domain)) {
spdy_session = list->front();
list->pop_front();
- net_log.AddEvent(NetLog::TYPE_SPDY_SESSION_POOL_FOUND_EXISTING_SESSION,
- new NetLogSourceParameter("session",
- spdy_session->net_log().source()));
+ net_log.AddEvent(
+ NetLog::TYPE_SPDY_SESSION_POOL_FOUND_EXISTING_SESSION,
+ make_scoped_refptr(new NetLogSourceParameter(
+ "session", spdy_session->net_log().source())));
}
} else {
list = AddSessionList(host_port_proxy_pair);
@@ -53,9 +54,10 @@ scoped_refptr<SpdySession> SpdySessionPool::Get(
if (!spdy_session) {
spdy_session = new SpdySession(host_port_proxy_pair, this, spdy_settings,
net_log.net_log());
- net_log.AddEvent(NetLog::TYPE_SPDY_SESSION_POOL_CREATED_NEW_SESSION,
- new NetLogSourceParameter("session",
- spdy_session->net_log().source()));
+ net_log.AddEvent(
+ NetLog::TYPE_SPDY_SESSION_POOL_CREATED_NEW_SESSION,
+ make_scoped_refptr(new NetLogSourceParameter(
+ "session", spdy_session->net_log().source())));
}
DCHECK(spdy_session);
@@ -81,9 +83,10 @@ net::Error SpdySessionPool::GetSpdySessionFromSocket(
DCHECK(list->empty());
list->push_back(*spdy_session);
- net_log.AddEvent(NetLog::TYPE_SPDY_SESSION_POOL_IMPORTED_SESSION_FROM_SOCKET,
- new NetLogSourceParameter("session",
- (*spdy_session)->net_log().source()));
+ net_log.AddEvent(
+ NetLog::TYPE_SPDY_SESSION_POOL_IMPORTED_SESSION_FROM_SOCKET,
+ make_scoped_refptr(new NetLogSourceParameter(
+ "session", (*spdy_session)->net_log().source())));
// Now we can initialize the session with the SSL socket.
return (*spdy_session)->InitializeWithSocket(connection, is_secure,
@@ -103,9 +106,10 @@ void SpdySessionPool::Remove(const scoped_refptr<SpdySession>& session) {
if (!list)
return;
list->remove(session);
- session->net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_POOL_REMOVE_SESSION,
- new NetLogSourceParameter("session",
- session->net_log().source()));
+ session->net_log().AddEvent(
+ NetLog::TYPE_SPDY_SESSION_POOL_REMOVE_SESSION,
+ make_scoped_refptr(new NetLogSourceParameter(
+ "session", session->net_log().source())));
if (list->empty())
RemoveSessionList(session->host_port_proxy_pair());
}
diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc
index 102d318..f26dd6d 100644
--- a/net/spdy/spdy_stream.cc
+++ b/net/spdy/spdy_stream.cc
@@ -60,8 +60,9 @@ SpdyStream::SpdyStream(SpdySession* session,
net_log_(net_log),
send_bytes_(0),
recv_bytes_(0) {
- net_log_.BeginEvent(NetLog::TYPE_SPDY_STREAM,
- new NetLogIntegerParameter("stream_id", stream_id_));
+ net_log_.BeginEvent(
+ NetLog::TYPE_SPDY_STREAM,
+ make_scoped_refptr(new NetLogIntegerParameter("stream_id", stream_id_)));
}
SpdyStream::~SpdyStream() {
@@ -148,9 +149,10 @@ void SpdyStream::IncreaseSendWindowSize(int delta_window_size) {
send_window_size_ = new_window_size;
- net_log_.AddEvent(NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE,
- new NetLogSpdyStreamWindowUpdateParameter(stream_id_,
- delta_window_size, send_window_size_));
+ net_log_.AddEvent(
+ NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE,
+ make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter(
+ stream_id_, delta_window_size, send_window_size_)));
if (stalled_by_flow_control_) {
stalled_by_flow_control_ = false;
io_state_ = STATE_SEND_BODY;
@@ -170,9 +172,10 @@ void SpdyStream::DecreaseSendWindowSize(int delta_window_size) {
send_window_size_ -= delta_window_size;
- net_log_.AddEvent(NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE,
- new NetLogSpdyStreamWindowUpdateParameter(stream_id_,
- -delta_window_size, send_window_size_));
+ net_log_.AddEvent(
+ NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE,
+ make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter(
+ stream_id_, -delta_window_size, send_window_size_)));
}
void SpdyStream::IncreaseRecvWindowSize(int delta_window_size) {
@@ -185,9 +188,10 @@ void SpdyStream::IncreaseRecvWindowSize(int delta_window_size) {
DCHECK(new_window_size > 0);
recv_window_size_ = new_window_size;
- net_log_.AddEvent(NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE,
- new NetLogSpdyStreamWindowUpdateParameter(stream_id_,
- delta_window_size, recv_window_size_));
+ net_log_.AddEvent(
+ NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE,
+ make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter(
+ stream_id_, delta_window_size, recv_window_size_)));
session_->SendWindowUpdate(stream_id_, delta_window_size);
}
@@ -195,9 +199,10 @@ void SpdyStream::DecreaseRecvWindowSize(int delta_window_size) {
DCHECK_GE(delta_window_size, 1);
recv_window_size_ -= delta_window_size;
- net_log_.AddEvent(NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE,
- new NetLogSpdyStreamWindowUpdateParameter(stream_id_,
- -delta_window_size, recv_window_size_));
+ net_log_.AddEvent(
+ NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE,
+ make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter(
+ stream_id_, -delta_window_size, recv_window_size_)));
// Since we never decrease the initial window size, we should never hit
// a negative |recv_window_size_|, if we do, it's a flow-control violation.
@@ -257,7 +262,7 @@ void SpdyStream::OnDataReceived(const char* data, int length) {
if (length > 0) {
IOBufferWithSize* buf = new IOBufferWithSize(length);
memcpy(buf->data(), data, length);
- pending_buffers_.push_back(buf);
+ pending_buffers_.push_back(make_scoped_refptr(buf));
} else {
pending_buffers_.push_back(NULL);
metrics_.StopStream();
@@ -298,7 +303,7 @@ void SpdyStream::OnDataReceived(const char* data, int length) {
// We'll return received data when delegate gets attached to the stream.
IOBufferWithSize* buf = new IOBufferWithSize(length);
memcpy(buf->data(), data, length);
- pending_buffers_.push_back(buf);
+ pending_buffers_.push_back(make_scoped_refptr(buf));
return;
}