Chromium Code Reviews| 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 #ifndef CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ | 5 #ifndef CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ |
| 6 #define CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ | 6 #define CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 117 const GURL& upload_location); | 117 const GURL& upload_location); |
| 118 | 118 |
| 119 // Uploads the next chunk of data from the file. | 119 // Uploads the next chunk of data from the file. |
| 120 void UploadNextChunk(scoped_ptr<UploadFileInfo> upload_file_info); | 120 void UploadNextChunk(scoped_ptr<UploadFileInfo> upload_file_info); |
| 121 | 121 |
| 122 // net::FileStream::Read completion callback. | 122 // net::FileStream::Read completion callback. |
| 123 void ReadCompletionCallback(scoped_ptr<UploadFileInfo> upload_file_info, | 123 void ReadCompletionCallback(scoped_ptr<UploadFileInfo> upload_file_info, |
| 124 int bytes_to_read, | 124 int bytes_to_read, |
| 125 int bytes_read); | 125 int bytes_read); |
| 126 | 126 |
| 127 // Calls DriveService's ResumeUpload with the current upload info. | 127 // Call DriveServer's ResumeUpload with the current remaining chunk of data. |
|
satorux1
2013/02/07 05:48:32
Calls ?
| |
| 128 // |start_position| should be the position in the file, and it must be | |
| 129 // in the current chunk range. In other words, the actual data range sent | |
| 130 // to the server will be |start_position| to the end of the current chunk. | |
| 128 void ResumeUpload(scoped_ptr<UploadFileInfo> upload_file_info, | 131 void ResumeUpload(scoped_ptr<UploadFileInfo> upload_file_info, |
| 129 int bytes_to_send); | 132 int64 start_position); |
| 130 | 133 |
| 131 // DriveService callback for ResumeUpload. | 134 // DriveService callback for ResumeUpload. |
| 132 void OnUploadRangeResponseReceived( | 135 void OnUploadRangeResponseReceived( |
| 133 scoped_ptr<UploadFileInfo> upload_file_info, | 136 scoped_ptr<UploadFileInfo> upload_file_info, |
| 134 const UploadRangeResponse& response, | 137 const UploadRangeResponse& response, |
| 135 scoped_ptr<ResourceEntry> entry); | 138 scoped_ptr<ResourceEntry> entry); |
| 136 | 139 |
| 140 // The server may return 5xx server error response. | |
| 141 // In such a case, following two methods will try to resume the upload. | |
| 142 // Note that in order to avoid receiving many server errors (like | |
| 143 // when the server is overloaded), this method will wait for | |
| 144 // a certain period before connecting to the server again. | |
| 145 void ResumeInterruptedUpload( | |
| 146 scoped_ptr<UploadFileInfo> upload_file_info); | |
| 147 void ResumeInterruptedUploadAfterWait( | |
| 148 scoped_ptr<UploadFileInfo> upload_file_info); | |
| 149 | |
| 137 // Handle failed uploads. | 150 // Handle failed uploads. |
| 138 void UploadFailed(scoped_ptr<UploadFileInfo> upload_file_info, | 151 void UploadFailed(scoped_ptr<UploadFileInfo> upload_file_info, |
| 139 DriveUploadError error); | 152 DriveUploadError error); |
| 140 | 153 |
| 141 // Pointers to DriveServiceInterface object owned by DriveSystemService. | 154 // Pointers to DriveServiceInterface object owned by DriveSystemService. |
| 142 // The lifetime of this object is guaranteed to exceed that of the | 155 // The lifetime of this object is guaranteed to exceed that of the |
| 143 // DriveUploader instance. | 156 // DriveUploader instance. |
| 144 DriveServiceInterface* drive_service_; | 157 DriveServiceInterface* drive_service_; |
| 145 | 158 |
| 146 // TaskRunner for opening, reading, and closing files. | 159 // TaskRunner for opening, reading, and closing files. |
| 147 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; | 160 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
| 148 | 161 |
| 149 // Note: This should remain the last member so it'll be destroyed and | 162 // Note: This should remain the last member so it'll be destroyed and |
| 150 // invalidate its weak pointers before any other members are destroyed. | 163 // invalidate its weak pointers before any other members are destroyed. |
| 151 base::WeakPtrFactory<DriveUploader> weak_ptr_factory_; | 164 base::WeakPtrFactory<DriveUploader> weak_ptr_factory_; |
| 152 | 165 |
| 153 DISALLOW_COPY_AND_ASSIGN(DriveUploader); | 166 DISALLOW_COPY_AND_ASSIGN(DriveUploader); |
| 154 }; | 167 }; |
| 155 | 168 |
| 156 } // namespace google_apis | 169 } // namespace google_apis |
| 157 | 170 |
| 158 #endif // CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ | 171 #endif // CHROME_BROWSER_GOOGLE_APIS_DRIVE_UPLOADER_H_ |
| OLD | NEW |