in sample/src/resumable/ResumableSample.cc [64:98]
std::string ResumableSample::ResumableFileUploadStopOnce()
{
ResetProgressControlCallTimes();
std::string fileID;
FileUploadRequest uploadRequest(Config::DriveID, Config::RootParentID, "test_resumable_file_stop_once", "", "refuse", Config::FileToUpload, Config::CheckpointDir);
TransferProgress progressCallback = { ProgressCallback , this };
uploadRequest.setTransferProgress(progressCallback);
ProgressControl progressControlStopCallback = { ProgressControlStopCallback , this };
uploadRequest.setProgressControl(progressControlStopCallback);
auto uploadOutcome = client->ResumableFileUpload(uploadRequest);
if (!uploadOutcome.isSuccess()) {
PrintError(__FUNCTION__, uploadOutcome.error());
} else {
fileID = uploadOutcome.result().FileID();
std::string isRapidUpload = uploadOutcome.result().RapidUpload() ? "is rapid upload" : "is not rapid upload";
std::cout << __FUNCTION__ << " first time call ResumableFileUpload success, file id: " << fileID << ", " << isRapidUpload << std::endl;
return fileID;
}
ProgressControl progressControlCallback = { ProgressControlCallback , this };
uploadRequest.setProgressControl(progressControlCallback);
uploadOutcome = client->ResumableFileUpload(uploadRequest);
if (!uploadOutcome.isSuccess()) {
PrintError(__FUNCTION__, uploadOutcome.error());
return fileID;
} else {
fileID = uploadOutcome.result().FileID();
std::string isRapidUpload = uploadOutcome.result().RapidUpload() ? "is rapid upload" : "is not rapid upload";
std::cout << __FUNCTION__ << " second time call ResumableFileUpload success, file id: " << fileID << ", " << isRapidUpload << std::endl;
}
return fileID;
}