| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 void SetOnSentData(const StreamEventCallback& callback) { | 67 void SetOnSentData(const StreamEventCallback& callback) { |
| 68 on_sent_data_ = callback; | 68 on_sent_data_ = callback; |
| 69 } | 69 } |
| 70 void SetOnReceivedData(const StreamEventCallback& callback) { | 70 void SetOnReceivedData(const StreamEventCallback& callback) { |
| 71 on_received_data_ = callback; | 71 on_received_data_ = callback; |
| 72 } | 72 } |
| 73 void SetOnClose(const StreamEventCallback& callback) { | 73 void SetOnClose(const StreamEventCallback& callback) { |
| 74 on_close_ = callback; | 74 on_close_ = callback; |
| 75 } | 75 } |
| 76 | 76 |
| 77 virtual void OnCreatedSpdyStream(int result) OVERRIDE { | 77 virtual void OnCreatedSpdyStream(int result) override { |
| 78 events_.push_back( | 78 events_.push_back( |
| 79 SpdyWebSocketStreamEvent(SpdyWebSocketStreamEvent::EVENT_CREATED, | 79 SpdyWebSocketStreamEvent(SpdyWebSocketStreamEvent::EVENT_CREATED, |
| 80 SpdyHeaderBlock(), | 80 SpdyHeaderBlock(), |
| 81 result, | 81 result, |
| 82 std::string())); | 82 std::string())); |
| 83 if (!on_created_.is_null()) | 83 if (!on_created_.is_null()) |
| 84 on_created_.Run(&events_.back()); | 84 on_created_.Run(&events_.back()); |
| 85 } | 85 } |
| 86 virtual void OnSentSpdyHeaders() OVERRIDE { | 86 virtual void OnSentSpdyHeaders() override { |
| 87 events_.push_back( | 87 events_.push_back( |
| 88 SpdyWebSocketStreamEvent(SpdyWebSocketStreamEvent::EVENT_SENT_HEADERS, | 88 SpdyWebSocketStreamEvent(SpdyWebSocketStreamEvent::EVENT_SENT_HEADERS, |
| 89 SpdyHeaderBlock(), | 89 SpdyHeaderBlock(), |
| 90 OK, | 90 OK, |
| 91 std::string())); | 91 std::string())); |
| 92 if (!on_sent_data_.is_null()) | 92 if (!on_sent_data_.is_null()) |
| 93 on_sent_data_.Run(&events_.back()); | 93 on_sent_data_.Run(&events_.back()); |
| 94 } | 94 } |
| 95 virtual void OnSpdyResponseHeadersUpdated( | 95 virtual void OnSpdyResponseHeadersUpdated( |
| 96 const SpdyHeaderBlock& response_headers) OVERRIDE { | 96 const SpdyHeaderBlock& response_headers) override { |
| 97 events_.push_back( | 97 events_.push_back( |
| 98 SpdyWebSocketStreamEvent( | 98 SpdyWebSocketStreamEvent( |
| 99 SpdyWebSocketStreamEvent::EVENT_RECEIVED_HEADER, | 99 SpdyWebSocketStreamEvent::EVENT_RECEIVED_HEADER, |
| 100 response_headers, | 100 response_headers, |
| 101 OK, | 101 OK, |
| 102 std::string())); | 102 std::string())); |
| 103 if (!on_received_header_.is_null()) | 103 if (!on_received_header_.is_null()) |
| 104 on_received_header_.Run(&events_.back()); | 104 on_received_header_.Run(&events_.back()); |
| 105 } | 105 } |
| 106 virtual void OnSentSpdyData(size_t bytes_sent) OVERRIDE { | 106 virtual void OnSentSpdyData(size_t bytes_sent) override { |
| 107 events_.push_back( | 107 events_.push_back( |
| 108 SpdyWebSocketStreamEvent( | 108 SpdyWebSocketStreamEvent( |
| 109 SpdyWebSocketStreamEvent::EVENT_SENT_DATA, | 109 SpdyWebSocketStreamEvent::EVENT_SENT_DATA, |
| 110 SpdyHeaderBlock(), | 110 SpdyHeaderBlock(), |
| 111 static_cast<int>(bytes_sent), | 111 static_cast<int>(bytes_sent), |
| 112 std::string())); | 112 std::string())); |
| 113 if (!on_sent_data_.is_null()) | 113 if (!on_sent_data_.is_null()) |
| 114 on_sent_data_.Run(&events_.back()); | 114 on_sent_data_.Run(&events_.back()); |
| 115 } | 115 } |
| 116 virtual void OnReceivedSpdyData(scoped_ptr<SpdyBuffer> buffer) OVERRIDE { | 116 virtual void OnReceivedSpdyData(scoped_ptr<SpdyBuffer> buffer) override { |
| 117 std::string buffer_data; | 117 std::string buffer_data; |
| 118 size_t buffer_len = 0; | 118 size_t buffer_len = 0; |
| 119 if (buffer) { | 119 if (buffer) { |
| 120 buffer_len = buffer->GetRemainingSize(); | 120 buffer_len = buffer->GetRemainingSize(); |
| 121 buffer_data.append(buffer->GetRemainingData(), buffer_len); | 121 buffer_data.append(buffer->GetRemainingData(), buffer_len); |
| 122 } | 122 } |
| 123 events_.push_back( | 123 events_.push_back( |
| 124 SpdyWebSocketStreamEvent( | 124 SpdyWebSocketStreamEvent( |
| 125 SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA, | 125 SpdyWebSocketStreamEvent::EVENT_RECEIVED_DATA, |
| 126 SpdyHeaderBlock(), | 126 SpdyHeaderBlock(), |
| 127 buffer_len, | 127 buffer_len, |
| 128 buffer_data)); | 128 buffer_data)); |
| 129 if (!on_received_data_.is_null()) | 129 if (!on_received_data_.is_null()) |
| 130 on_received_data_.Run(&events_.back()); | 130 on_received_data_.Run(&events_.back()); |
| 131 } | 131 } |
| 132 virtual void OnCloseSpdyStream() OVERRIDE { | 132 virtual void OnCloseSpdyStream() override { |
| 133 events_.push_back( | 133 events_.push_back( |
| 134 SpdyWebSocketStreamEvent( | 134 SpdyWebSocketStreamEvent( |
| 135 SpdyWebSocketStreamEvent::EVENT_CLOSE, | 135 SpdyWebSocketStreamEvent::EVENT_CLOSE, |
| 136 SpdyHeaderBlock(), | 136 SpdyHeaderBlock(), |
| 137 OK, | 137 OK, |
| 138 std::string())); | 138 std::string())); |
| 139 if (!on_close_.is_null()) | 139 if (!on_close_.is_null()) |
| 140 on_close_.Run(&events_.back()); | 140 on_close_.Run(&events_.back()); |
| 141 if (!callback_.is_null()) | 141 if (!callback_.is_null()) |
| 142 callback_.Run(OK); | 142 callback_.Run(OK); |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 EXPECT_EQ(OK, events[7].result); | 662 EXPECT_EQ(OK, events[7].result); |
| 663 | 663 |
| 664 // EOF close SPDY session. | 664 // EOF close SPDY session. |
| 665 EXPECT_FALSE( | 665 EXPECT_FALSE( |
| 666 HasSpdySession(http_session_->spdy_session_pool(), spdy_session_key_)); | 666 HasSpdySession(http_session_->spdy_session_pool(), spdy_session_key_)); |
| 667 EXPECT_TRUE(data.at_read_eof()); | 667 EXPECT_TRUE(data.at_read_eof()); |
| 668 EXPECT_TRUE(data.at_write_eof()); | 668 EXPECT_TRUE(data.at_write_eof()); |
| 669 } | 669 } |
| 670 | 670 |
| 671 } // namespace net | 671 } // namespace net |
| OLD | NEW |