Esempio n. 1
0
        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);
                }
            }
        }