mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-25 23:49:35 -05:00
Optimized some small things in TransferDialog and SearchDialog.
Changed the parameter of the constructor of ftFileCreator and ftFileProvider and some methods of ftTransferModule from "std::string" to "const std::string&" git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4045 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
61b57ede65
commit
db19db7e60
@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
|
|
||||||
ftFileCreator::ftFileCreator(std::string path, uint64_t size, std::string hash,bool assume_availability)
|
ftFileCreator::ftFileCreator(const std::string& path, uint64_t size, const std::string& hash,bool assume_availability)
|
||||||
: ftFileProvider(path,size,hash), chunkMap(size,assume_availability)
|
: ftFileProvider(path,size,hash), chunkMap(size,assume_availability)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -47,7 +47,7 @@ class ftFileCreator: public ftFileProvider
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
ftFileCreator(std::string savepath, uint64_t size, std::string hash,bool assume_availability);
|
ftFileCreator(const std::string& savepath, uint64_t size, const std::string& hash,bool assume_availability);
|
||||||
|
|
||||||
~ftFileCreator();
|
~ftFileCreator();
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
static const time_t UPLOAD_CHUNK_MAPS_TIME = 20 ; // time to ask for a new chunkmap from uploaders in seconds.
|
static const time_t UPLOAD_CHUNK_MAPS_TIME = 20 ; // time to ask for a new chunkmap from uploaders in seconds.
|
||||||
|
|
||||||
ftFileProvider::ftFileProvider(std::string path, uint64_t size, std::string hash)
|
ftFileProvider::ftFileProvider(const std::string& path, uint64_t size, const std::string& hash)
|
||||||
: mSize(size), hash(hash), file_name(path), fd(NULL)
|
: mSize(size), hash(hash), file_name(path), fd(NULL)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(ftcMutex); /********** STACK LOCKED MTX ******/
|
RsStackMutex stack(ftcMutex); /********** STACK LOCKED MTX ******/
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
class ftFileProvider
|
class ftFileProvider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ftFileProvider(std::string path, uint64_t size, std::string hash);
|
ftFileProvider(const std::string& path, uint64_t size, const std::string& hash);
|
||||||
virtual ~ftFileProvider();
|
virtual ~ftFileProvider();
|
||||||
|
|
||||||
virtual bool getFileData(const std::string& peer_id,uint64_t offset, uint32_t &chunk_size, void *data);
|
virtual bool getFileData(const std::string& peer_id,uint64_t offset, uint32_t &chunk_size, void *data);
|
||||||
|
@ -95,7 +95,7 @@ ftTransferModule::~ftTransferModule()
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
bool ftTransferModule::setFileSources(std::list<std::string> peerIds)
|
bool ftTransferModule::setFileSources(const std::list<std::string>& peerIds)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ bool ftTransferModule::setFileSources(std::list<std::string> peerIds)
|
|||||||
std::cerr << " List of peers: " ;
|
std::cerr << " List of peers: " ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::list<std::string>::iterator it;
|
std::list<std::string>::const_iterator it;
|
||||||
for(it = peerIds.begin(); it != peerIds.end(); it++)
|
for(it = peerIds.begin(); it != peerIds.end(); it++)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ bool ftTransferModule::getFileSources(std::list<std::string> &peerIds)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ftTransferModule::addFileSource(std::string peerId)
|
bool ftTransferModule::addFileSource(const std::string& peerId)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
std::map<std::string,peerInfo>::iterator mit;
|
std::map<std::string,peerInfo>::iterator mit;
|
||||||
@ -167,7 +167,7 @@ bool ftTransferModule::addFileSource(std::string peerId)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ftTransferModule::removeFileSource(std::string peerId)
|
bool ftTransferModule::removeFileSource(const std::string& peerId)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
std::map<std::string,peerInfo>::iterator mit;
|
std::map<std::string,peerInfo>::iterator mit;
|
||||||
@ -189,7 +189,7 @@ bool ftTransferModule::removeFileSource(std::string peerId)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ftTransferModule::setPeerState(std::string peerId,uint32_t state,uint32_t maxRate)
|
bool ftTransferModule::setPeerState(const std::string& peerId,uint32_t state,uint32_t maxRate)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
#ifdef FT_DEBUG
|
#ifdef FT_DEBUG
|
||||||
@ -237,7 +237,7 @@ bool ftTransferModule::setPeerState(std::string peerId,uint32_t state,uint32_t m
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool ftTransferModule::getPeerState(std::string peerId,uint32_t &state,uint32_t &tfRate)
|
bool ftTransferModule::getPeerState(const std::string& peerId,uint32_t &state,uint32_t &tfRate)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
std::map<std::string,peerInfo>::iterator mit;
|
std::map<std::string,peerInfo>::iterator mit;
|
||||||
@ -257,7 +257,7 @@ bool ftTransferModule::getPeerState(std::string peerId,uint32_t &state,uint32_t
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ftTransferModule::getDataRate(std::string peerId)
|
uint32_t ftTransferModule::getDataRate(const std::string& peerId)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
RsStackMutex stack(tfMtx); /******* STACK LOCKED ******/
|
||||||
std::map<std::string,peerInfo>::iterator mit;
|
std::map<std::string,peerInfo>::iterator mit;
|
||||||
@ -277,7 +277,7 @@ uint32_t ftTransferModule::getDataRate(std::string peerId)
|
|||||||
|
|
||||||
|
|
||||||
//interface to client module
|
//interface to client module
|
||||||
bool ftTransferModule::recvFileData(std::string peerId, uint64_t offset, uint32_t chunk_size, void *data)
|
bool ftTransferModule::recvFileData(const std::string& peerId, uint64_t offset, uint32_t chunk_size, void *data)
|
||||||
{
|
{
|
||||||
#ifdef FT_DEBUG
|
#ifdef FT_DEBUG
|
||||||
std::cerr << "ftTransferModule::recvFileData()";
|
std::cerr << "ftTransferModule::recvFileData()";
|
||||||
@ -316,7 +316,7 @@ bool ftTransferModule::recvFileData(std::string peerId, uint64_t offset, uint32_
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ftTransferModule::requestData(std::string peerId, uint64_t offset, uint32_t chunk_size)
|
void ftTransferModule::requestData(const std::string& peerId, uint64_t offset, uint32_t chunk_size)
|
||||||
{
|
{
|
||||||
#ifdef FT_DEBUG
|
#ifdef FT_DEBUG
|
||||||
std::cerr << "ftTransferModule::requestData()";
|
std::cerr << "ftTransferModule::requestData()";
|
||||||
|
@ -133,13 +133,13 @@ public:
|
|||||||
~ftTransferModule();
|
~ftTransferModule();
|
||||||
|
|
||||||
//interface to download controller
|
//interface to download controller
|
||||||
bool setFileSources(std::list<std::string> peerIds);
|
bool setFileSources(const std::list<std::string>& peerIds);
|
||||||
bool addFileSource(std::string peerId);
|
bool addFileSource(const std::string& peerId);
|
||||||
bool removeFileSource(std::string peerId);
|
bool removeFileSource(const std::string& peerId);
|
||||||
bool setPeerState(std::string peerId,uint32_t state,uint32_t maxRate); //state = ONLINE/OFFLINE
|
bool setPeerState(const std::string& peerId,uint32_t state,uint32_t maxRate); //state = ONLINE/OFFLINE
|
||||||
bool getFileSources(std::list<std::string> &peerIds);
|
bool getFileSources(std::list<std::string> &peerIds);
|
||||||
bool getPeerState(std::string peerId,uint32_t &state,uint32_t &tfRate);
|
bool getPeerState(const std::string& peerId,uint32_t &state,uint32_t &tfRate);
|
||||||
uint32_t getDataRate(std::string peerId);
|
uint32_t getDataRate(const std::string& peerId);
|
||||||
bool cancelTransfer();
|
bool cancelTransfer();
|
||||||
bool cancelFileTransferUpward();
|
bool cancelFileTransferUpward();
|
||||||
bool completeFileTransfer();
|
bool completeFileTransfer();
|
||||||
@ -148,9 +148,9 @@ public:
|
|||||||
void addCRC32Map(const CRC32Map& map) ;
|
void addCRC32Map(const CRC32Map& map) ;
|
||||||
|
|
||||||
//interface to multiplex module
|
//interface to multiplex module
|
||||||
bool recvFileData(std::string peerId, uint64_t offset,
|
bool recvFileData(const std::string& peerId, uint64_t offset,
|
||||||
uint32_t chunk_size, void *data);
|
uint32_t chunk_size, void *data);
|
||||||
void requestData(std::string peerId, uint64_t offset, uint32_t chunk_size);
|
void requestData(const std::string& peerId, uint64_t offset, uint32_t chunk_size);
|
||||||
|
|
||||||
//interface to file creator
|
//interface to file creator
|
||||||
bool getChunk(const std::string& peer_id,uint32_t size_hint,uint64_t &offset, uint32_t &chunk_size);
|
bool getChunk(const std::string& peer_id,uint32_t size_hint,uint64_t &offset, uint32_t &chunk_size);
|
||||||
|
@ -334,16 +334,17 @@ void SearchDialog::download()
|
|||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::list<std::string> srcIds;
|
std::list<std::string> srcIds;
|
||||||
|
|
||||||
getSourceFriendsForHash((item->text(SR_HASH_COL)).toStdString(),srcIds) ;
|
std::string hash = item->text(SR_HASH_COL).toStdString();
|
||||||
|
getSourceFriendsForHash(hash,srcIds) ;
|
||||||
|
|
||||||
if(!rsFiles -> FileRequest((item->text(SR_NAME_COL)).toStdString(),
|
if(!rsFiles -> FileRequest((item->text(SR_NAME_COL)).toStdString(),
|
||||||
(item->text(SR_HASH_COL)).toStdString(),
|
hash,
|
||||||
(item->text(SR_SIZE_COL)).toULongLong(),
|
(item->text(SR_SIZE_COL)).toULongLong(),
|
||||||
"", RS_FILE_HINTS_NETWORK_WIDE, srcIds))
|
"", RS_FILE_HINTS_NETWORK_WIDE, srcIds))
|
||||||
attemptDownloadLocal = true ;
|
attemptDownloadLocal = true ;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cout << "isuing file request from search dialog: -" << (item->text(SR_NAME_COL)).toStdString() << "-" << (item->text(SR_HASH_COL)).toStdString() << "-" << (item->text(SR_SIZE_COL)).toULongLong() << "-ids=" ;
|
std::cout << "isuing file request from search dialog: -" << (item->text(SR_NAME_COL)).toStdString() << "-" << hash << "-" << (item->text(SR_SIZE_COL)).toULongLong() << "-ids=" ;
|
||||||
for(std::list<std::string>::const_iterator it(srcIds.begin());it!=srcIds.end();++it)
|
for(std::list<std::string>::const_iterator it(srcIds.begin());it!=srcIds.end();++it)
|
||||||
std::cout << *it << "-" << std::endl ;
|
std::cout << *it << "-" << std::endl ;
|
||||||
}
|
}
|
||||||
@ -365,17 +366,19 @@ void SearchDialog::downloadDirectory(const QTreeWidgetItem *item, const QString
|
|||||||
+ "/" + base + "/";
|
+ "/" + base + "/";
|
||||||
QString cleanPath = QDir::cleanPath(path);
|
QString cleanPath = QDir::cleanPath(path);
|
||||||
|
|
||||||
getSourceFriendsForHash((item->text(SR_HASH_COL)).toStdString(),srcIds) ;
|
std::string hash = item->text(SR_HASH_COL).toStdString();
|
||||||
|
|
||||||
|
getSourceFriendsForHash(hash,srcIds) ;
|
||||||
|
|
||||||
rsFiles->FileRequest(item->text(SR_NAME_COL).toStdString(),
|
rsFiles->FileRequest(item->text(SR_NAME_COL).toStdString(),
|
||||||
item->text(SR_HASH_COL).toStdString(),
|
hash,
|
||||||
item->text(SR_SIZE_COL).toULongLong(),
|
item->text(SR_SIZE_COL).toULongLong(),
|
||||||
cleanPath.toStdString(),RS_FILE_HINTS_NETWORK_WIDE, srcIds);
|
cleanPath.toStdString(),RS_FILE_HINTS_NETWORK_WIDE, srcIds);
|
||||||
|
|
||||||
std::cout << "SearchDialog::downloadDirectory(): "\
|
std::cout << "SearchDialog::downloadDirectory(): "\
|
||||||
"issuing file request from search dialog: -"
|
"issuing file request from search dialog: -"
|
||||||
<< (item->text(SR_NAME_COL)).toStdString()
|
<< (item->text(SR_NAME_COL)).toStdString()
|
||||||
<< "-" << (item->text(SR_HASH_COL)).toStdString()
|
<< "-" << hash
|
||||||
<< "-" << (item->text(SR_SIZE_COL)).toULongLong()
|
<< "-" << (item->text(SR_SIZE_COL)).toULongLong()
|
||||||
<< "-ids=" ;
|
<< "-ids=" ;
|
||||||
for(std::list<std::string>::const_iterator it(srcIds.begin());
|
for(std::list<std::string>::const_iterator it(srcIds.begin());
|
||||||
|
@ -923,13 +923,15 @@ void TransfersDialog::insertTransfers()
|
|||||||
//first clean the model in case some files are not download anymore
|
//first clean the model in case some files are not download anymore
|
||||||
//remove items that are not fiends anymore
|
//remove items that are not fiends anymore
|
||||||
int removeIndex = 0;
|
int removeIndex = 0;
|
||||||
while (removeIndex < DLListModel->rowCount())
|
int rowCount = DLListModel->rowCount();
|
||||||
|
while (removeIndex < rowCount)
|
||||||
{
|
{
|
||||||
std::string hash = DLListModel->item(removeIndex, ID)->data(Qt::DisplayRole).toString().toStdString();
|
std::string hash = DLListModel->item(removeIndex, ID)->data(Qt::DisplayRole).toString().toStdString();
|
||||||
|
|
||||||
if(used_hashes.find(hash) == used_hashes.end())
|
if(used_hashes.find(hash) == used_hashes.end()) {
|
||||||
QListDelete (DLListModel->takeRow(removeIndex));
|
QListDelete (DLListModel->takeRow(removeIndex));
|
||||||
else
|
rowCount = DLListModel->rowCount();
|
||||||
|
} else
|
||||||
removeIndex++;
|
removeIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1017,14 +1019,16 @@ void TransfersDialog::insertTransfers()
|
|||||||
//first clean the model in case some files are not download anymore
|
//first clean the model in case some files are not download anymore
|
||||||
//remove items that are not fiends anymore
|
//remove items that are not fiends anymore
|
||||||
removeIndex = 0;
|
removeIndex = 0;
|
||||||
while (removeIndex < ULListModel->rowCount())
|
rowCount = ULListModel->rowCount();
|
||||||
|
while (removeIndex < rowCount)
|
||||||
{
|
{
|
||||||
std::string hash = ULListModel->item(removeIndex, UHASH)->data(Qt::EditRole).toString().toStdString();
|
std::string hash = ULListModel->item(removeIndex, UHASH)->data(Qt::EditRole).toString().toStdString();
|
||||||
std::string peer = ULListModel->item(removeIndex, UUSERID)->data(Qt::EditRole).toString().toStdString();
|
std::string peer = ULListModel->item(removeIndex, UUSERID)->data(Qt::EditRole).toString().toStdString();
|
||||||
|
|
||||||
if(used_hashes.find(hash + peer) == used_hashes.end())
|
if(used_hashes.find(hash + peer) == used_hashes.end()) {
|
||||||
QListDelete (ULListModel->takeRow(removeIndex));
|
QListDelete (ULListModel->takeRow(removeIndex));
|
||||||
else
|
rowCount = ULListModel->rowCount();
|
||||||
|
} else
|
||||||
removeIndex++;
|
removeIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user