Major changes to the networking core of retroshare to introduce the new serialiser.

- Added new serialiser (PQItem -> RsItem), removed old one.
- switched packet sorting from ChanId (array of ids) to PeerId (string)
- introduced cleaner service interface (pqiservice).
- moved p3disc to service interface.
- modified streamers to use the new serialiser.
- moved msg/chat to service interface.
- removed old source code. (supernode / p3loopback).

I've disabled UDP connections / Proxy and Channels for the moment.
The code it still here, but is not compiled. The Proxy and Channels 
will become services, and the UDP connections will be reworked 
in the near future.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2007-12-12 01:29:14 +00:00
parent 07d33009b9
commit 2c9c31eaf0
36 changed files with 866 additions and 8116 deletions

View file

@ -30,7 +30,7 @@
#include "pqi/pqihandler.h"
#include "pqi/pqiperson.h"
#include "pqi/pqitunnel.h"
#include "pqi/pqiservice.h"
// So this is a specific implementation
@ -50,12 +50,17 @@ const unsigned long PQIPERSON_NO_SSLLISTENER = 0x0001;
const unsigned long PQIPERSON_ALL_BW_LIMITED = 0x0010;
class p3disc;
class p3channel;
#ifdef PQI_USE_DISC
class p3disc;
#endif
#ifdef PQI_USE_CHANNELS
class p3channel;
#endif
class pqissllistener;
class pqipersongrp: public pqihandler, public PQTunnelServer
class pqipersongrp: public pqihandler, public p3ServiceServer
{
public:
pqipersongrp(SecurityPolicy *, sslroot *sr, unsigned long flags);
@ -77,7 +82,9 @@ virtual int status();
// + SearchInterface which should automatically handle stuff
// acess to services.
#ifdef PQI_USE_DISC
p3disc *getP3Disc() { return p3d; }
#endif
#ifdef PQI_USE_PROXY
p3proxy *getP3Proxy() { return p3p; }
@ -88,22 +95,25 @@ virtual int status();
#endif
protected:
/* Overloaded PQItem Check
/* Overloaded RsItem Check
* checks item->cid vs Person
*/
virtual int checkOutgoingPQItem(PQItem *item, int global);
virtual int checkOutgoingRsItem(RsItem *item, int global) { return 1; }
private:
// The tunnelserver operation.
int tickTunnelServer();
int tickServiceRecv();
int tickServiceSend();
pqissllistener *pqil;
sslroot *sslr;
#ifdef PQI_USE_DISC
p3disc *p3d;
#endif
#ifdef PQI_USE_PROXY
p3proxy *p3p;
pqiudplistener *pqiudpl;