public override int GetHashCode()
        {
            int hash = 1;

            if (Filename.Length != 0)
            {
                hash ^= Filename.GetHashCode();
            }
            if (LastWriteUTCTicks != 0L)
            {
                hash ^= LastWriteUTCTicks.GetHashCode();
            }
            if (StorageTier != 0)
            {
                hash ^= StorageTier.GetHashCode();
            }
            if (Md5.Length != 0)
            {
                hash ^= Md5.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Esempio n. 2
0
 public MultipartObjectAssembler(ObjectStorageClient service,
                                 string namespaceName, string bucketName, string objectName,
                                 bool allowOverwrite,
                                 SemaphoreSlim executor,
                                 string opcClientRequestId,
                                 bool enforceContentMD5Upload          = false,
                                 RetryConfiguration retryConfiguration = null,
                                 StorageTier storageTier = StorageTier.Standard)
 {
     _service                 = service;
     _namespaceName           = namespaceName;
     _bucketName              = bucketName;
     _objectName              = objectName;
     _allowOverwrite          = allowOverwrite;
     _executorServiceToUse    = executor;
     _retryConfiguration      = retryConfiguration;
     _opcClientRequestId      = opcClientRequestId;
     _enforceContentMD5Upload = enforceContentMD5Upload;
     _tokenSource             = new CancellationTokenSource();
     _storageTier             = storageTier;
 }
Esempio n. 3
0
        /// <summary>
        /// Inititate a new Multipart upload request
        /// </summary>
        /// <param name="putObjectRequest"></param>
        /// <returns></returns>
        public async Task <MultipartManifest> NewRequest(
            string contentEncoding, string contentType,
            string contentLanguage, string contentDisposition,
            string cacheControl, Dictionary <string, string> metadata,
            StorageTier storageTier)
        {
            CheckInitialized();
            var ifNoneMatch = _allowOverwrite ? null : "*";

            var request = new CreateMultipartUploadRequest()
            {
                BucketName    = _bucketName,
                NamespaceName = _namespaceName,
                IfNoneMatch   = ifNoneMatch,
                CreateMultipartUploadDetails = new CreateMultipartUploadDetails()
                {
                    Object             = _objectName,
                    ContentEncoding    = contentEncoding,
                    ContentType        = contentType,
                    ContentLanguage    = contentLanguage,
                    Metadata           = metadata,
                    ContentDisposition = contentDisposition,
                    CacheControl       = cacheControl,
                    StorageTier        = storageTier
                },
                OpcClientRequestId = CreateClientRequestId("New")
            };

            var response = await _service.CreateMultipartUpload(request).ConfigureAwait(false);

            _multipartManifest = new MultipartManifest(response.MultipartUpload.UploadId);
            _transferManager   = new MultipartTransferManager(_multipartManifest, _service, _executorServiceToUse, _tokenSource.Token, _retryConfiguration);
            _initialized       = true;

            return(_multipartManifest);
        }