Exemplo n.º 1
0
        private uint WriteParts(BinaryWriter bw, V value)
        {
            uint totalBytes = 0;

            for (int partCntr = 0; partCntr < value.PartCount; partCntr++)
            {
                PartDetail pDetail = value.PartDetails[partCntr];
                int        partLen = pDetail.PartLength;
                //byte[] buf = value.GetPart(partCntr);
                value.LoadPart(partCntr, pDetail.Buf);
                bw.Write(pDetail.Buf);
                totalBytes += (uint)partLen;
            }

            return(totalBytes);
        }
Exemplo n.º 2
0
        private bool LoadParts(BinaryReader br, FileStream fs, V value)
        {
            for (int partCntr = 0; partCntr < value.PartCount; partCntr++)
            {
                PartDetail pDetail = value.PartDetails[partCntr];

                if (pDetail.IncludeOnRead)
                {
                    //byte[] buf = br.ReadBytes(pDetail.PartLength);
                    br.Read(pDetail.Buf, 0, pDetail.PartLength);
                    value.SetPart(partCntr, pDetail.Buf);
                }
                else
                {
                    fs.Seek(pDetail.PartLength, SeekOrigin.Current);
                }
            }

            return(true);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Helper to assert that uploaded parts have the same checksum as listed parts.
 /// Genearlly only one checksum is expected to be set.
 /// </summary>
 /// <param name="uploadPartResponse">Response after uploading a part</param>
 /// <param name="partDetail">Response for a single part after listing parts</param>
 private static void AssertPartsAreEqual(UploadPartResponse uploadPartResponse, PartDetail partDetail)
 {
     Assert.AreEqual(uploadPartResponse.PartNumber, partDetail.PartNumber);
     Assert.AreEqual(uploadPartResponse.ETag, partDetail.ETag);
     Assert.AreEqual(uploadPartResponse.ChecksumCRC32C, partDetail.ChecksumCRC32C);
     Assert.AreEqual(uploadPartResponse.ChecksumCRC32, partDetail.ChecksumCRC32);
     Assert.AreEqual(uploadPartResponse.ChecksumSHA1, partDetail.ChecksumSHA1);
     Assert.AreEqual(uploadPartResponse.ChecksumSHA256, partDetail.ChecksumSHA256);
 }