OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/spdy/spdy_websocket_stream.h" | 5 #include "net/spdy/spdy_websocket_stream.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 virtual void OnSentSpdyData(size_t bytes_sent) OVERRIDE { | 109 virtual void OnSentSpdyData(size_t bytes_sent) OVERRIDE { |
110 events_.push_back( | 110 events_.push_back( |
111 SpdyWebSocketStreamEvent( | 111 SpdyWebSocketStreamEvent( |
112 SpdyWebSocketStreamEvent::EVENT_SENT_DATA, | 112 SpdyWebSocketStreamEvent::EVENT_SENT_DATA, |
113 SpdyHeaderBlock(), | 113 SpdyHeaderBlock(), |
114 static_cast<int>(bytes_sent), | 114 static_cast<int>(bytes_sent), |
115 std::string())); | 115 std::string())); |
116 if (!on_sent_data_.is_null()) | 116 if (!on_sent_data_.is_null()) |
117 on_sent_data_.Run(&events_.back()); | 117 on_sent_data_.Run(&events_.back()); |
118 } | 118 } |
119 virtual void OnReceivedSpdyData(scoped_ptr<SpdyBuffer> buffer) OVERRIDE { | 119 virtual void OnReceivedSpdyData(const char* data, int length) OVERRIDE { |
120 std::string buffer_data; | |
121 size_t buffer_len = 0; | |
122 if (buffer) { | |
123 buffer_len = buffer->GetRemainingSize(); | |
124 buffer_data.append(buffer->GetRemainingData(), buffer_len); | |
125 } | |
126 events_.push_back( | 120 events_.push_back( |
127 SpdyWebSocketStreamEvent( | 121 SpdyWebSocketStreamEvent( |
128 SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA, | 122 SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA, |
129 SpdyHeaderBlock(), | 123 SpdyHeaderBlock(), |
130 buffer_len, | 124 length, |
131 buffer_data)); | 125 std::string(data, length))); |
132 if (!on_received_data_.is_null()) | 126 if (!on_received_data_.is_null()) |
133 on_received_data_.Run(&events_.back()); | 127 on_received_data_.Run(&events_.back()); |
134 } | 128 } |
135 virtual void OnCloseSpdyStream() OVERRIDE { | 129 virtual void OnCloseSpdyStream() OVERRIDE { |
136 events_.push_back( | 130 events_.push_back( |
137 SpdyWebSocketStreamEvent( | 131 SpdyWebSocketStreamEvent( |
138 SpdyWebSocketStreamEvent::EVENT_CLOSE, | 132 SpdyWebSocketStreamEvent::EVENT_CLOSE, |
139 SpdyHeaderBlock(), | 133 SpdyHeaderBlock(), |
140 OK, | 134 OK, |
141 std::string())); | 135 std::string())); |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 EXPECT_EQ(OK, events[7].result); | 606 EXPECT_EQ(OK, events[7].result); |
613 | 607 |
614 // EOF close SPDY session. | 608 // EOF close SPDY session. |
615 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( | 609 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( |
616 host_port_proxy_pair_)); | 610 host_port_proxy_pair_)); |
617 EXPECT_TRUE(data()->at_read_eof()); | 611 EXPECT_TRUE(data()->at_read_eof()); |
618 EXPECT_TRUE(data()->at_write_eof()); | 612 EXPECT_TRUE(data()->at_write_eof()); |
619 } | 613 } |
620 | 614 |
621 } // namespace net | 615 } // namespace net |
OLD | NEW |