コード例 #1
0
 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;
 }
コード例 #2
0
        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);
        }