private TorrentInfo getCurrentTorrent()
{
Uri trackerUri;
TorrentInfo torrent = new TorrentInfo(0, 0);
try
{
trackerUri = new Uri(trackerAddress.Text);
}
catch (Exception exception1)
{
AddLogLine(exception1.Message);
return torrent;
}
torrent.tracker = trackerAddress.Text;
torrent.trackerUri = trackerUri;
torrent.hash = shaHash.Text;
torrent.uploadRate = (Int64)(uploadRate.Text.ParseValidFloat(50) * 1024);
// uploadRate.Text = (torrent.uploadRate / (float)1024).ToString();
torrent.downloadRate = (Int64)(downloadRate.Text.ParseValidFloat(10) * 1024);
// downloadRate.Text = (torrent.downloadRate / (float)1024).ToString();
torrent.interval = interval.Text.ParseValidInt(torrent.interval);
interval.Text = torrent.interval.ToString();
double finishedPercent = fileSize.Text.ParseDouble(0);
if (finishedPercent < 0 || finishedPercent > 100)
{
AddLogLine("Finished value is invalid: " + fileSize.Text + ", assuming 0 as default value");
finishedPercent = 0;
}
if (finishedPercent >= 100)
{
seedMode = true;
finishedPercent = 100;
}
fileSize.Text = finishedPercent.ToString();
long size = (long)currentTorrentFile.totalLength;
if (currentTorrentFile != null)
{
if (finishedPercent == 0)
{
torrent.totalsize = (long)currentTorrentFile.totalLength;
}
else if (finishedPercent == 100)
{
torrent.totalsize = 0;
}
else
{
torrent.totalsize = (long)((currentTorrentFile.totalLength * (100 - finishedPercent)) / 100);
}
}
else
{
torrent.totalsize = 0;
}
torrent.left = torrent.totalsize;
torrent.filename = torrentFile.Text;
// deploy custom values
torrent.port = customPort.Text.GetValueDefault(torrent.port);
customPort.Text = torrent.port;
torrent.key = customKey.Text.GetValueDefault(currentClient.Key);
torrent.numberOfPeers = customPeersNum.Text.GetValueDefault(torrent.numberOfPeers);
currentClient.Key = customKey.Text.GetValueDefault(currentClient.Key);
torrent.peerID = customPeerID.Text.GetValueDefault(currentClient.PeerID);
currentClient.PeerID = customPeerID.Text.GetValueDefault(currentClient.PeerID);
// Add log info
AddLogLine("TORRENT INFO:");
AddLogLine("Torrent name: " + currentTorrentFile.Name);
AddLogLine("Tracker address: " + torrent.tracker);
AddLogLine("Hash code: " + torrent.hash);
AddLogLine("Upload rate: " + torrent.uploadRate / 1024);
AddLogLine("Download rate: " + torrent.downloadRate / 1024);
AddLogLine("Update interval: " + torrent.interval);
AddLogLine("Size: " + size / 1024);
AddLogLine("Left: " + torrent.totalsize / 1024);
AddLogLine("Finished: " + finishedPercent);
AddLogLine("Filename: " + torrent.filename);
AddLogLine("Number of peers: " + torrent.numberOfPeers);
AddLogLine("Port: " + torrent.port);
AddLogLine("Key: " + torrent.key);
AddLogLine("PeerID: " + torrent.peerID + "\n" + "\n");
return torrent;
}