| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "cronet_bidirectional_stream_adapter.h" | 5 #include "cronet_bidirectional_stream_adapter.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 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 // If stream failed between the time when WritevData is invoked and | 391 // If stream failed between the time when WritevData is invoked and |
| 392 // WritevDataOnNetworkThread is executed, do not call into |bidi_stream_| | 392 // WritevDataOnNetworkThread is executed, do not call into |bidi_stream_| |
| 393 // since the underlying stream might have been destroyed. Do not invoke | 393 // since the underlying stream might have been destroyed. Do not invoke |
| 394 // Java callback either, since onError is posted when |stream_failed_| is | 394 // Java callback either, since onError is posted when |stream_failed_| is |
| 395 // set to true. | 395 // set to true. |
| 396 return; | 396 return; |
| 397 } | 397 } |
| 398 | 398 |
| 399 pending_write_data_ = std::move(pending_write_data); | 399 pending_write_data_ = std::move(pending_write_data); |
| 400 bool end_of_stream = pending_write_data_->jwrite_end_of_stream == JNI_TRUE; | 400 bool end_of_stream = pending_write_data_->jwrite_end_of_stream == JNI_TRUE; |
| 401 if (pending_write_data_->write_buffer_list.size() == 1) { | 401 bidi_stream_->SendvData(pending_write_data_->write_buffer_list, |
| 402 bidi_stream_->SendData(pending_write_data_->write_buffer_list[0], | 402 pending_write_data_->write_buffer_len_list, |
| 403 pending_write_data_->write_buffer_len_list[0], | 403 end_of_stream); |
| 404 end_of_stream); | |
| 405 } else { | |
| 406 bidi_stream_->SendvData(pending_write_data_->write_buffer_list, | |
| 407 pending_write_data_->write_buffer_len_list, | |
| 408 end_of_stream); | |
| 409 } | |
| 410 } | 404 } |
| 411 | 405 |
| 412 void CronetBidirectionalStreamAdapter::DestroyOnNetworkThread( | 406 void CronetBidirectionalStreamAdapter::DestroyOnNetworkThread( |
| 413 bool send_on_canceled) { | 407 bool send_on_canceled) { |
| 414 DCHECK(context_->IsOnNetworkThread()); | 408 DCHECK(context_->IsOnNetworkThread()); |
| 415 if (send_on_canceled) { | 409 if (send_on_canceled) { |
| 416 JNIEnv* env = base::android::AttachCurrentThread(); | 410 JNIEnv* env = base::android::AttachCurrentThread(); |
| 417 cronet::Java_CronetBidirectionalStream_onCanceled(env, owner_.obj()); | 411 cronet::Java_CronetBidirectionalStream_onCanceled(env, owner_.obj()); |
| 418 } | 412 } |
| 419 MaybeReportMetrics(); | 413 MaybeReportMetrics(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 start_time), | 464 start_time), |
| 471 metrics_util::ConvertTime(load_timing_info.receive_headers_end, | 465 metrics_util::ConvertTime(load_timing_info.receive_headers_end, |
| 472 start_ticks, start_time), | 466 start_ticks, start_time), |
| 473 metrics_util::ConvertTime(base::TimeTicks::Now(), start_ticks, | 467 metrics_util::ConvertTime(base::TimeTicks::Now(), start_ticks, |
| 474 start_time), | 468 start_time), |
| 475 load_timing_info.socket_reused, bidi_stream_->GetTotalSentBytes(), | 469 load_timing_info.socket_reused, bidi_stream_->GetTotalSentBytes(), |
| 476 bidi_stream_->GetTotalReceivedBytes()); | 470 bidi_stream_->GetTotalReceivedBytes()); |
| 477 } | 471 } |
| 478 | 472 |
| 479 } // namespace cronet | 473 } // namespace cronet |
| OLD | NEW |