mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-13 03:22:34 -04:00
Major bugfixes and testing changes for ft.
It is now almost ready for integration with rs. Added ftserver3test.cc which successfully tests: * Hashing of a directory. * Transfer of Cache Files. * Local Searching. * Remote Searching. * Download from multiple sources. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
889825b77e
commit
88ef2e0e34
17 changed files with 1010 additions and 106 deletions
|
@ -87,6 +87,14 @@ void ftServer::addConfigComponents(p3ConfigMgr *mgr)
|
|||
/* NOT SURE ABOUT THIS ONE */
|
||||
}
|
||||
|
||||
std::string ftServer::OwnId()
|
||||
{
|
||||
std::string ownId;
|
||||
if (mConnMgr)
|
||||
ownId = mConnMgr->getOwnId();
|
||||
return ownId;
|
||||
}
|
||||
|
||||
/* Final Setup (once everything is assigned) */
|
||||
void ftServer::SetupFtServer(NotifyBase *cb)
|
||||
{
|
||||
|
@ -189,7 +197,7 @@ void ftServer::run()
|
|||
/********************** Controller Access **********************/
|
||||
/***************************************************************/
|
||||
|
||||
bool ftServer::FileRequest(std::string fname, std::string hash, uint32_t size,
|
||||
bool ftServer::FileRequest(std::string fname, std::string hash, uint64_t size,
|
||||
std::string dest, uint32_t flags, std::list<std::string> srcIds)
|
||||
{
|
||||
return mFtController->FileRequest(fname, hash, size,
|
||||
|
@ -271,7 +279,7 @@ bool ftServer::FileDetails(std::string hash, uint32_t hintflags, FileInfo &info)
|
|||
/******************* ExtraFileList Access **********************/
|
||||
/***************************************************************/
|
||||
|
||||
bool ftServer::ExtraFileAdd(std::string fname, std::string hash, uint32_t size,
|
||||
bool ftServer::ExtraFileAdd(std::string fname, std::string hash, uint64_t size,
|
||||
uint32_t period, uint32_t flags)
|
||||
{
|
||||
return mFtExtra->addExtraFile(fname, hash, size, period, flags);
|
||||
|
@ -456,6 +464,14 @@ bool ftServer::sendData(std::string peerId, std::string hash, uint64_t size,
|
|||
uint64_t offset = 0;
|
||||
uint32_t chunk;
|
||||
|
||||
#ifdef SERVER_DEBUG
|
||||
std::cerr << "ftServer::sendData() to " << peerId << std::endl;
|
||||
std::cerr << "hash: " << hash;
|
||||
std::cerr << " offset: " << offset;
|
||||
std::cerr << " chunk: " << chunk;
|
||||
std::cerr << " data: " << data;
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
while(tosend > 0)
|
||||
{
|
||||
|
@ -487,6 +503,17 @@ bool ftServer::sendData(std::string peerId, std::string hash, uint64_t size,
|
|||
rfd->fd.binData.setBinData(
|
||||
&(((uint8_t *) data)[offset]), chunk);
|
||||
|
||||
/* print the data pointer */
|
||||
#ifdef SERVER_DEBUG
|
||||
std::cerr << "ftServer::sendData() Packet: " << std::endl;
|
||||
std::cerr << " offset: " << rfd->fd.file_offset;
|
||||
std::cerr << " chunk: " << chunk;
|
||||
std::cerr << " len: " << rfd->fd.binData.bin_len;
|
||||
std::cerr << " data: " << rfd->fd.binData.bin_data;
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
mP3iface->SendFileData(rfd);
|
||||
|
||||
offset += chunk;
|
||||
|
@ -679,6 +706,11 @@ FileInfo(ffr);
|
|||
{
|
||||
#ifdef SERVER_DEBUG
|
||||
std::cerr << "ftServer::handleFileData() Recvd ftFiler Data" << std::endl;
|
||||
std::cerr << "hash: " << fd->fd.file.hash;
|
||||
std::cerr << " length: " << fd->fd.binData.bin_len;
|
||||
std::cerr << " data: " << fd->fd.binData.bin_data;
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::ostringstream out;
|
||||
if (i == i_init)
|
||||
{
|
||||
|
@ -698,7 +730,7 @@ FileInfo(ffr);
|
|||
|
||||
/* we've stolen the data part -> so blank before delete
|
||||
*/
|
||||
fd->fd.TlvShallowClear();
|
||||
fd->fd.binData.TlvShallowClear();
|
||||
delete fd;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue