public void DownloadFile(string alias, Action <long> progressCallback = null) { if (progressCallback == null) { progressCallback = (x) => Tools.Lambda.NoOp(); } var transferChunkSize = TransferChunkSize; if (LocalStore.ContainsAlias(alias)) { LocalStore.Delete(alias); } LocalStore.RegisterFile(alias); long currentRead = 0; var bytesRead = 0; do { var data = Service.GetFilePart(alias, currentRead, transferChunkSize); bytesRead = data.Length; currentRead += bytesRead; LocalStore.AppendAllBytes(alias, data); progressCallback(currentRead); } while (bytesRead >= TransferChunkSize); }
public void SendFilePart(string alias, byte[] filePart) { LocalStore.AppendAllBytes(alias, filePart); }