代码修改后的版本,全部提交
This commit is contained in:
66
COSXML/Transfer/TransferManager.cs
Normal file
66
COSXML/Transfer/TransferManager.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
/**
|
||||
* Copyright (c) 2018 Tencent Cloud. All rights reserved.
|
||||
* 11/29/2018 5:09:07 PM
|
||||
* bradyxiao
|
||||
*/
|
||||
namespace COSXML.Transfer
|
||||
{
|
||||
public sealed class TransferConfig
|
||||
{
|
||||
internal long divisionForCopy = 5242880; // 5M
|
||||
|
||||
internal long sliceSizeForCopy = 2097152; // 2M
|
||||
|
||||
internal long divisionForUpload = 5242880; // 5M
|
||||
|
||||
internal long sliceSizeForUpload = 1048576; // 1M
|
||||
|
||||
|
||||
public long DdivisionForCopy { get { return divisionForCopy; } set { divisionForCopy = value; } }
|
||||
|
||||
public long DivisionForUpload { get { return divisionForUpload; } set { divisionForUpload = value; } }
|
||||
|
||||
public long SliceSizeForCopy { get { return sliceSizeForCopy; } set { sliceSizeForCopy = value; } }
|
||||
|
||||
public long SliceSizeForUpload { get { return sliceSizeForUpload; } set { sliceSizeForUpload = value; } }
|
||||
}
|
||||
|
||||
public sealed class TransferManager
|
||||
{
|
||||
private TransferConfig transferConfig;
|
||||
private CosXml cosXml;
|
||||
|
||||
public TransferManager(CosXml cosXmlServer, TransferConfig transferConfig)
|
||||
{
|
||||
if (cosXmlServer == null) throw new ArgumentNullException("CosXmlServer = null");
|
||||
if (transferConfig == null) throw new ArgumentNullException("TransferConfig = null");
|
||||
this.transferConfig = transferConfig;
|
||||
//COSXMLTask.InitCosXmlServer(cosXmlServer);
|
||||
this.cosXml = cosXmlServer;
|
||||
}
|
||||
|
||||
public void Upload(COSXMLUploadTask uploader)
|
||||
{
|
||||
uploader.InitCosXmlServer(cosXml);
|
||||
uploader.SetDivision(transferConfig.divisionForUpload, transferConfig.sliceSizeForUpload);
|
||||
uploader.Upload();
|
||||
}
|
||||
|
||||
public void Download(COSXMLDownloadTask downloader)
|
||||
{
|
||||
downloader.InitCosXmlServer(cosXml);
|
||||
downloader.Download();
|
||||
}
|
||||
|
||||
public void Copy(COSXMLCopyTask copy)
|
||||
{
|
||||
copy.InitCosXmlServer(cosXml);
|
||||
copy.SetDivision(transferConfig.DdivisionForCopy, transferConfig.sliceSizeForCopy);
|
||||
copy.Copy();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user