public void Run() { short retries = 0; while (retries++ < NUM_RETRIES) { try { GlacierFilePart part = new GlacierFilePart(ref data, checksum, start, end, uploadId); api.UploadPart(part, OnTransferProgress); metric.incrementTransferredParts(); return; } catch (Exception ex) { // Remove what we've uploaded so far from the metrics just to be precise. metric.removeTransferredBytes(lastBytesCount); // Reset the last byte count to zero or we're going to mess things up later. lastBytesCount = 0; Console.WriteLine("Upload exception: " + ex.Message); } } }
public bool UploadPart(GlacierFilePart part, System.EventHandler <Amazon.Runtime.StreamTransferProgressArgs> progressCallback) { UploadMultipartPartRequest uploadRequest = new UploadMultipartPartRequest() { Body = new MemoryStream(part.Data), Checksum = part.Checksum, Range = part.Range, StreamTransferProgress = progressCallback, UploadId = part.UploadId, VaultName = _vault }; UploadMultipartPartResponse response = _amazonGlacierClient.UploadMultipartPart(uploadRequest); if (part.Checksum == response.UploadMultipartPartResult.Checksum) { return(true); } else { return(false); } }
public bool UploadPart(GlacierFilePart part, System.EventHandler<Amazon.Runtime.StreamTransferProgressArgs> progressCallback) { UploadMultipartPartRequest uploadRequest = new UploadMultipartPartRequest() { Body = new MemoryStream(part.Data), Checksum = part.Checksum, Range = part.Range, StreamTransferProgress = progressCallback, UploadId = part.UploadId, VaultName = _vault }; UploadMultipartPartResponse response = _amazonGlacierClient.UploadMultipartPart(uploadRequest); if (part.Checksum == response.UploadMultipartPartResult.Checksum) return true; else return false; }