mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-06 21:58:57 -04:00
Lots of little changes to libretroshare. Improvements mainly focused
on configuration storage and loading: * Improved Configuration Manager (almost finished) * Mutex protections for Configuration system * added Configuration storage to p3ConnectMgr. * added Configuration storage to p3MsgService. * bugfixes in p3GeneralConfig. * Added Config Save notification where necessary. * added safe FinalConfigSave before exit(). * added RsPeerNetItem + RsPeerStunItem (serialiser) * reordered startup for correct config loading. * enabled Loading of certs in AuthXPGP. * move sockaddr_clear() to util/rsnet.h * switched p3MsgService sendMessage checking to pqiMonitor syste,. * corrected pqiarchive saving of PeerIds. * added setNetworkMode() & setVisState() to p3ConnectMgr. * added Mutex protection to p3ranking. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@336 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
2c69fd7eaf
commit
806b8285f2
36 changed files with 1712 additions and 599 deletions
|
@ -40,35 +40,48 @@ const uint8_t RS_PKT_TYPE_FILE_CONFIG = 0x04;
|
|||
/* GENERAL CONFIG SUBTYPES */
|
||||
const uint8_t RS_PKT_SUBTYPE_KEY_VALUE = 0x01;
|
||||
|
||||
/* PEER CONFIG SUBTYPES */
|
||||
const uint8_t RS_PKT_SUBTYPE_PEER_NET = 0x01;
|
||||
const uint8_t RS_PKT_SUBTYPE_PEER_STUN = 0x02;
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
class RsPeerConfig: public RsItem
|
||||
class RsPeerNetItem: public RsItem
|
||||
{
|
||||
public:
|
||||
RsPeerConfig()
|
||||
RsPeerNetItem()
|
||||
:RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG,
|
||||
RS_PKT_TYPE_PEER_CONFIG,
|
||||
RS_PKT_SUBTYPE_DEFAULT)
|
||||
RS_PKT_SUBTYPE_PEER_NET)
|
||||
{ return; }
|
||||
virtual ~RsPeerConfig();
|
||||
virtual ~RsPeerNetItem();
|
||||
virtual void clear();
|
||||
std::ostream &print(std::ostream &out, uint16_t indent = 0);
|
||||
|
||||
//RsTlvPeerId peerid; /* Mandatory */
|
||||
//RsTlvPeerFingerprint fpr; /* Mandatory */
|
||||
/* networking information */
|
||||
std::string pid; /* Mandatory */
|
||||
uint32_t netMode; /* Mandatory */
|
||||
uint32_t visState; /* Mandatory */
|
||||
uint32_t lastContact; /* Mandatory */
|
||||
|
||||
//struct sockaddr_in lastaddr; /* Mandatory */
|
||||
//struct sockaddr_in localaddr; /* Mandatory */
|
||||
//struct sockaddr_in serveraddr; /* Mandatory */
|
||||
|
||||
uint32_t status; /* Mandatory */
|
||||
|
||||
uint32_t lastconn_ts; /* Mandatory */
|
||||
uint32_t lastrecv_ts; /* Mandatory */
|
||||
uint32_t nextconn_ts; /* Mandatory */
|
||||
uint32_t nextconn_period; /* Mandatory */
|
||||
struct sockaddr_in localaddr; /* Mandatory */
|
||||
struct sockaddr_in remoteaddr; /* Mandatory */
|
||||
};
|
||||
|
||||
class RsPeerStunItem: public RsItem
|
||||
{
|
||||
public:
|
||||
RsPeerStunItem()
|
||||
:RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG,
|
||||
RS_PKT_TYPE_PEER_CONFIG,
|
||||
RS_PKT_SUBTYPE_PEER_STUN)
|
||||
{ return; }
|
||||
virtual ~RsPeerStunItem();
|
||||
virtual void clear();
|
||||
std::ostream &print(std::ostream &out, uint16_t indent = 0);
|
||||
|
||||
RsTlvPeerIdSet stunList; /* Mandatory */
|
||||
};
|
||||
|
||||
class RsPeerConfigSerialiser: public RsSerialType
|
||||
{
|
||||
|
@ -84,8 +97,21 @@ virtual uint32_t size(RsItem *);
|
|||
virtual bool serialise (RsItem *item, void *data, uint32_t *size);
|
||||
virtual RsItem * deserialise(void *data, uint32_t *size);
|
||||
|
||||
private:
|
||||
|
||||
virtual uint32_t sizeNet(RsPeerNetItem *);
|
||||
virtual bool serialiseNet (RsPeerNetItem *item, void *data, uint32_t *size);
|
||||
virtual RsPeerNetItem *deserialiseNet(void *data, uint32_t *size);
|
||||
|
||||
virtual uint32_t sizeStun(RsPeerStunItem *);
|
||||
virtual bool serialiseStun (RsPeerStunItem *item, void *data, uint32_t *size);
|
||||
virtual RsPeerStunItem * deserialiseStun(void *data, uint32_t *size);
|
||||
|
||||
};
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
class RsCacheConfig: public RsItem
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue