public OutcomingFileTransfer(FileTransferManager owner, OutcomingFileTransferInfo info) : base(owner) { id = FileTransferId.InvalidId; State = FileTransferState.Waiting; Name = info.Name; Hash = info.Hash; BytesTotal = info.Size; BlockSize = info.InitBlockSize; Receiver = info.Receiver; Token = info.Token; }
public IOutcomingFileTransfer Add(string receiver, string fileName) { var token = lastToken++; var fi = new FileInfo(fileName); var hash = ComputeHash(fileName); var info = new OutcomingFileTransferInfo { Token = token, Receiver = receiver, Name = fileName, Size = fi.Length, Hash = hash, InitBlockSize = blockSize }; var ft = new OutcomingFileTransfer(this, info); newPendingFts.Enqueue(ft); Root.Log(LogLevel.Info, "FileTransferManager: created outcoming session [file='{0}', token={1}]", fileName, info.Token); return(ft); }