Enabled new File Transfer Code in libretroshare.

NB: This is not yet working. so SVN is now officially broken :(
Hope to have the bugs ironed out soon.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2008-11-02 11:38:11 +00:00
parent 9f68fc5393
commit 0d96b43d34
29 changed files with 567 additions and 117 deletions

View file

@ -18,9 +18,9 @@ RSOBJ = p3peers.o \
p3face-startup.o \
p3face-msgs.o \
rsiface.o \
p3files.o \
rstypes.o
# p3files.o \
# p3face-file.o \
# pqistrings.o \
# p3face-people.o

View file

@ -155,7 +155,11 @@ int RsServer::UpdateAllConfig()
void RsServer::ConfigFinalSave()
{
/* force saving of transfers */
#ifdef USE_OLD_FT
server->saveFileTransferStatus();
#else
//ftserver->saveFileTransferStatus();
#endif
mAuthMgr->FinalSaveCertificates();
mConfigMgr->completeConfiguration();

View file

@ -26,7 +26,11 @@
#include "rsserver/p3face.h"
#ifdef USE_OLD_FT
#include "rsserver/p3files.h" // TMP FOR HACK!
#endif
#include "tcponudp/tou.h"
#include <sstream>
@ -117,9 +121,14 @@ void RsServer::run()
/******************************** RUN SERVER *****************/
lockRsCore();
#ifdef USE_OLD_FT
int moreToTick = server -> tick();
#else
int moreToTick = ftserver -> tick();
#endif
#ifdef DEBUG_TICK
std::cerr << "RsServer::run() server->tick(): moreToTick: " << moreToTick << std::endl;
std::cerr << "RsServer::run() ftserver->tick(): moreToTick: " << moreToTick << std::endl;
#endif
unlockRsCore();
@ -191,6 +200,8 @@ void RsServer::run()
// currently Dummy Functions.
//std::cerr << "RsServer::run() UpdateAllTransfers()" << std::endl;
#ifdef USE_OLD_FT
//
// TMP HACK.
p3Files *p3f = (p3Files *) rsFiles;
@ -198,6 +209,7 @@ void RsServer::run()
{
p3f -> UpdateAllTransfers();
}
#endif
//std::cerr << "RsServer::run() ";
//std::cerr << "UpdateRemotePeople()"<<std::endl;
@ -247,7 +259,11 @@ void RsServer::run()
loop = 0;
/* force saving FileTransferStatus */
server->saveFileTransferStatus();
#ifdef USE_OLD_FT
ftserver->saveFileTransferStatus();
#else
//ftserver->saveFileTransferStatus();
#endif
/* see if we need to resave certs */
mAuthMgr->CheckSaveCertificates();

View file

@ -28,8 +28,19 @@
//#include <getopt.h>
#include "dbase/cachestrapper.h"
#include "server/ftfiler.h"
#include "server/filedexserver.h"
#ifdef USE_OLD_FT
#include "server/ftfiler.h"
#include "server/filedexserver.h"
#else
#include "ft/ftserver.h"
#include "ft/ftcontroller.h"
#endif
/* global variable now points straight to
* ft/ code so variable defined here.
*/
RsFiles *rsFiles = NULL;
#include "pqi/pqipersongrp.h"
#include "pqi/pqisslpersongrp.h"
@ -520,15 +531,18 @@ int RsServer::StartupRetroShare(RsInit *config)
std::string certConfigFile = config->basedir.c_str();
std::string certNeighDir = config->basedir.c_str();
std::string emergencySaveDir = config->basedir.c_str();
std::string emergencyPartialsDir = config->basedir.c_str();
if (certConfigFile != "")
{
certConfigFile += "/";
certNeighDir += "/";
emergencySaveDir += "/";
emergencyPartialsDir += "/";
}
certConfigFile += configConfFile;
certNeighDir += configCertDir;
emergencySaveDir += "Downloads";
emergencyPartialsDir += "Partials";
/* if we've loaded an old format file! */
bool oldFormat = false;
@ -549,13 +563,14 @@ int RsServer::StartupRetroShare(RsInit *config)
pqiNetAssistFirewall *mUpnpMgr = new upnphandler();
p3DhtMgr *mDhtMgr = new OpenDHTMgr(ownId, mConnMgr, config->basedir);
CacheStrapper *mCacheStrapper = new CacheStrapper(mAuthMgr, mConnMgr);
ftfiler *mCacheTransfer = new ftfiler(mCacheStrapper);
SecurityPolicy *none = secpolicy_create();
pqih = new pqisslpersongrp(none, flags);
//pqih = new pqipersongrpDummy(none, flags);
#ifdef USE_OLD_FT
CacheStrapper *mCacheStrapper = new CacheStrapper(mAuthMgr, mConnMgr);
ftfiler *mCacheTransfer = new ftfiler(mCacheStrapper);
// filedex server.
server = new filedexserver();
server->setConfigDir(config->basedir.c_str());
@ -571,6 +586,25 @@ int RsServer::StartupRetroShare(RsInit *config)
rsFiles = new p3Files(server, this, mAuthMgr);
#else
/****** New Ft Server **** !!! */
ftserver = new ftServer(mAuthMgr, mConnMgr);
ftserver->setP3Interface(pqih);
ftserver->setConfigDirectory(config->basedir);
ftserver->SetupFtServer(&(getNotify()));
CacheStrapper *mCacheStrapper = ftserver->getCacheStrapper();
CacheTransfer *mCacheTransfer = ftserver->getCacheTransfer();
/* setup any extra bits (Default Paths) */
ftserver->setPartialsDirectory(emergencyPartialsDir);
ftserver->setDownloadDirectory(emergencySaveDir);
/* This should be set by config ... there is no default */
//ftserver->setSharedDirectories(fileList);
rsFiles = ftserver;
#endif
mConfigMgr = new p3ConfigMgr(mAuthMgr, config->basedir, "rs-v0.4.cfg", "rs-v0.4.sgn");
mGeneralConfig = new p3GeneralConfig();
@ -649,9 +683,22 @@ int RsServer::StartupRetroShare(RsInit *config)
mConnMgr->addMonitor(ad);
mConnMgr->addMonitor(msgSrv);
/* must also add the controller as a Monitor...
* a little hack to get it to work.
*/
#ifdef USE_OLD_FT
#else
mConnMgr->addMonitor(((ftController *) mCacheTransfer));
#endif
/**************************************************************************/
#ifdef USE_OLD_FT
mConfigMgr->addConfiguration("server.cfg", server);
#else
//mConfigMgr->addConfiguration("ftserver.cfg", ftserver);
#endif
mConfigMgr->addConfiguration("peers.cfg", mConnMgr);
mConfigMgr->addConfiguration("general.cfg", mGeneralConfig);
mConfigMgr->addConfiguration("msgs.cfg", msgSrv);
@ -767,13 +814,12 @@ int RsServer::StartupRetroShare(RsInit *config)
/* Start up Threads */
/**************************************************************************/
#ifdef USE_OLD_FT
server->StartupMonitor();
mDhtMgr->start();
#ifdef PQI_USE_CHANNELS
server->setP3Channel(pqih->getP3Channel());
#else
ftserver->StartupThreads();
#endif
mDhtMgr->start();
// create loopback device, and add to pqisslgrp.

View file

@ -26,7 +26,8 @@
*
*/
#include "server/filedexserver.h"
//#include "server/filedexserver.h"
#include "ft/ftserver.h";
//#include "pqi/pqissl.h"
#include "pqi/p3cfgmgr.h"
@ -156,7 +157,8 @@ int UpdateAllConfig();
// The real Server Parts.
filedexserver *server;
//filedexserver *server;
ftServer *ftserver;
p3ConnectMgr *mConnMgr;
p3AuthMgr *mAuthMgr;

View file

@ -32,7 +32,7 @@
#include <iostream>
#include <sstream>
RsFiles *rsFiles = NULL;
//RsFiles *rsFiles = NULL;
void p3Files::lockRsCore()
{