improved/cleaned debug outputs in in rsgxsnetservice.cc. Performed optimization of transaction system: limited the size of message transactions and allowed a much larger transaction timeout to suppress the transaction cancelling epidemic that caused global bandwidth increase and lack of channel/forum propagation

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7724 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2014-12-02 20:06:56 +00:00
parent 6588eafb99
commit a5bf3b6f3f
4 changed files with 869 additions and 646 deletions

File diff suppressed because it is too large Load Diff

View File

@ -438,8 +438,6 @@ private:
// for an active transaction
uint32_t mTransactionTimeOut;
std::map<RsGxsGroupId,std::list<RsPeerId> > mPendingPublishKeyRecipients ;
RsPeerId mOwnId;
RsNxsNetMgr* mNetMgr;
@ -460,8 +458,9 @@ private:
// need to be verfied
std::vector<AuthorPending*> mPendingResp;
std::vector<GrpCircleVetting*> mPendingCircleVets;
std::map<RsGxsGroupId,std::list<RsPeerId> > mPendingPublishKeyRecipients ;
std::map<RsPeerId, std::list<RsGxsGroupId> > mExplicitRequest;
std::map<RsPeerId, std::set<RsGxsGroupId> > mPartialMsgUpdates ;
// nxs sync optimisation
// can pull dynamically the latest timestamp for each message

View File

@ -79,8 +79,8 @@ public:
{ clear();}
virtual ~RsGxsMsgUpdateItem() {}
virtual void clear();
virtual std::ostream &print(std::ostream &out, uint16_t indent);
virtual void clear();
virtual std::ostream &print(std::ostream &out, uint16_t indent);
RsPeerId peerId;
std::map<RsGxsGroupId, uint32_t> msgUpdateTS;

View File

@ -27,10 +27,10 @@ const uint16_t RsNxsTransac::FLAG_END_FAIL_FULL = 0x0040;
/** transaction type **/
const uint16_t RsNxsTransac::FLAG_TYPE_GRP_LIST_RESP = 0x0100;
const uint16_t RsNxsTransac::FLAG_TYPE_MSG_LIST_RESP = 0x0200;
const uint16_t RsNxsTransac::FLAG_TYPE_GRP_LIST_REQ = 0x0400;
const uint16_t RsNxsTransac::FLAG_TYPE_MSG_LIST_REQ = 0x0800;
const uint16_t RsNxsTransac::FLAG_TYPE_GRPS = 0x1000;
const uint16_t RsNxsTransac::FLAG_TYPE_MSGS = 0x2000;
const uint16_t RsNxsTransac::FLAG_TYPE_GRP_LIST_REQ = 0x0400;
const uint16_t RsNxsTransac::FLAG_TYPE_MSG_LIST_REQ = 0x0800;
const uint16_t RsNxsTransac::FLAG_TYPE_GRPS = 0x1000;
const uint16_t RsNxsTransac::FLAG_TYPE_MSGS = 0x2000;
uint32_t RsNxsSerialiser::size(RsItem *item) {