Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: components/gcm_driver/gcm_client_impl.cc

Issue 442123003: [GCM] Adding the OnSendAcknowledgement event (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing code review comments. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « components/gcm_driver/gcm_client.h ('k') | components/gcm_driver/gcm_client_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/gcm_driver/gcm_client_impl.h" 5 #include "components/gcm_driver/gcm_client_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 MCSClient::MessageSendStatus status) { 850 MCSClient::MessageSendStatus status) {
851 DCHECK_EQ(user_serial_number, kDefaultUserSerialNumber); 851 DCHECK_EQ(user_serial_number, kDefaultUserSerialNumber);
852 DCHECK(delegate_); 852 DCHECK(delegate_);
853 853
854 // TTL_EXCEEDED is singled out here, because it can happen long time after the 854 // TTL_EXCEEDED is singled out here, because it can happen long time after the
855 // message was sent. That is why it comes as |OnMessageSendError| event rather 855 // message was sent. That is why it comes as |OnMessageSendError| event rather
856 // than |OnSendFinished|. SendErrorDetails.additional_data is left empty. 856 // than |OnSendFinished|. SendErrorDetails.additional_data is left empty.
857 // All other errors will be raised immediately, through asynchronous callback. 857 // All other errors will be raised immediately, through asynchronous callback.
858 // It is expected that TTL_EXCEEDED will be issued for a message that was 858 // It is expected that TTL_EXCEEDED will be issued for a message that was
859 // previously issued |OnSendFinished| with status SUCCESS. 859 // previously issued |OnSendFinished| with status SUCCESS.
860 // For now, we do not report that the message has been sent and acked
861 // successfully.
862 // TODO(jianli): Consider adding UMA for this status. 860 // TODO(jianli): Consider adding UMA for this status.
863 if (status == MCSClient::TTL_EXCEEDED) { 861 if (status == MCSClient::TTL_EXCEEDED) {
864 SendErrorDetails send_error_details; 862 SendErrorDetails send_error_details;
865 send_error_details.message_id = message_id; 863 send_error_details.message_id = message_id;
866 send_error_details.result = GCMClient::TTL_EXCEEDED; 864 send_error_details.result = GCMClient::TTL_EXCEEDED;
867 delegate_->OnMessageSendError(app_id, send_error_details); 865 delegate_->OnMessageSendError(app_id, send_error_details);
868 } else if (status != MCSClient::SENT) { 866 } else if (status == MCSClient::SENT) {
867 delegate_->OnSendAcknowledged(app_id, message_id);
868 } else {
869 delegate_->OnSendFinished(app_id, message_id, ToGCMClientResult(status)); 869 delegate_->OnSendFinished(app_id, message_id, ToGCMClientResult(status));
870 } 870 }
871 } 871 }
872 872
873 void GCMClientImpl::OnMCSError() { 873 void GCMClientImpl::OnMCSError() {
874 // TODO(fgorski): For now it replaces the initialization method. Long term it 874 // TODO(fgorski): For now it replaces the initialization method. Long term it
875 // should have an error or status passed in. 875 // should have an error or status passed in.
876 } 876 }
877 877
878 void GCMClientImpl::HandleIncomingMessage(const gcm::MCSMessage& message) { 878 void GCMClientImpl::HandleIncomingMessage(const gcm::MCSMessage& message) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 966
967 recorder_.RecordIncomingSendError( 967 recorder_.RecordIncomingSendError(
968 data_message_stanza.category(), 968 data_message_stanza.category(),
969 data_message_stanza.to(), 969 data_message_stanza.to(),
970 data_message_stanza.id()); 970 data_message_stanza.id());
971 delegate_->OnMessageSendError(data_message_stanza.category(), 971 delegate_->OnMessageSendError(data_message_stanza.category(),
972 send_error_details); 972 send_error_details);
973 } 973 }
974 974
975 } // namespace gcm 975 } // namespace gcm
OLDNEW
« no previous file with comments | « components/gcm_driver/gcm_client.h ('k') | components/gcm_driver/gcm_client_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698