mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-27 16:35:21 -04:00
Improved the dht msg history storage.
- specify how long we store for. - cleanup old msgs. - improve printing of history. - add timeline storage as well. - disabled by default, enable USE_HISTORY in bdnode.c There appears to be a bug related to copying bdId's around. Some of the bootstrap ids are malformed, and this crashes rs. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5724 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
83795a7c7d
commit
cc9e933362
6 changed files with 239 additions and 28 deletions
|
@ -12,13 +12,26 @@
|
|||
|
||||
/**** DEBUGGING HISTORY ****/
|
||||
|
||||
class MsgRegister
|
||||
{
|
||||
public:
|
||||
MsgRegister() { return; }
|
||||
MsgRegister(const bdId *inId, uint32_t inMsgType, bool inIncoming)
|
||||
:id(*inId), msgType(inMsgType), incoming(inIncoming) { return; }
|
||||
|
||||
bdId id;
|
||||
uint32_t msgType;
|
||||
bool incoming;
|
||||
};
|
||||
|
||||
|
||||
|
||||
class bdMsgHistoryList
|
||||
{
|
||||
public:
|
||||
|
||||
void addMsg(time_t ts, uint32_t msgType, bool incoming);
|
||||
int msgCount(time_t start_ts, time_t end_ts);
|
||||
void msgClear();
|
||||
bool msgClear(time_t before); // 0 => clear all.
|
||||
void printHistory(std::ostream &out, int mode, time_t start_ts, time_t end_ts);
|
||||
|
||||
bool canSend();
|
||||
|
@ -32,8 +45,12 @@ bool validPeer();
|
|||
class bdHistory
|
||||
{
|
||||
public:
|
||||
bdHistory(time_t store_period);
|
||||
|
||||
void addMsg(const bdId *id, bdToken *transId, uint32_t msgType, bool incoming);
|
||||
void printMsgs();
|
||||
|
||||
void cleanupOldMsgs();
|
||||
void clearHistory();
|
||||
|
||||
bool canSend(const bdId *id);
|
||||
|
@ -42,6 +59,9 @@ bool validPeer(const bdId *id);
|
|||
/* recent history */
|
||||
//std::list<bdId> lastMsgs;
|
||||
std::map<bdId, bdMsgHistoryList> mHistory;
|
||||
std::multimap<time_t, MsgRegister> mMsgTimeline;
|
||||
|
||||
int mStorePeriod;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue