Merge branch 'master' into jsonapi

This commit is contained in:
G10h4ck 2018-10-10 22:23:28 +02:00 committed by GitHub
commit 047ae7f723
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
260 changed files with 1737 additions and 1178 deletions

View file

@ -22,6 +22,7 @@
#pragma once
#include "util/rsnet.h"
#include "util/rstime.h"
class RsBanList;
extern RsBanList *rsBanList ;
@ -70,7 +71,7 @@ public:
uint32_t level; // LOCAL, FRIEND, FoF.
bool state ; // true=>active, false=>just stored but inactive
int connect_attempts ; // recorded by the BanList service
time_t mTs;
rstime_t mTs;
std::string comment ; //
};

View file

@ -149,13 +149,13 @@ struct RsConfigDataRates : RsSerializable
float mRateMaxIn;
float mAllocIn;
time_t mAllocTs;
rstime_t mAllocTs;
float mRateOut;
float mRateMaxOut;
float mAllowedOut;
time_t mAllowedTs;
rstime_t mAllowedTs;
int mQueueIn;
int mQueueOut;
@ -181,7 +181,7 @@ struct RsConfigDataRates : RsSerializable
struct RSTrafficClue : RsSerializable
{
time_t TS ;
rstime_t TS ;
uint32_t size ;
uint8_t priority ;
uint16_t service_id ;

View file

@ -93,9 +93,9 @@ class RsDhtPeer
int mBucket;
std::string mDhtId;
std::string mAddr;
time_t mLastSendTime;
time_t mLastRecvTime;
time_t mFoundTime;
rstime_t mLastSendTime;
rstime_t mLastRecvTime;
rstime_t mFoundTime;
uint32_t mPeerFlags;
uint32_t mExtraFlags;
};
@ -132,7 +132,7 @@ class RsDhtRelayEnd
std::string mLocalAddr;
std::string mProxyAddr;
std::string mRemoteAddr;
time_t mCreateTS;
rstime_t mCreateTS;
};
class RsDhtRelayProxy
@ -145,11 +145,11 @@ class RsDhtRelayProxy
double mBandwidth;
int mRelayClass;
time_t mLastTS;
time_t mCreateTS;
rstime_t mLastTS;
rstime_t mCreateTS;
//uint32_t mDataSize;
//time_t mLastBandwidthTS;
//rstime_t mLastBandwidthTS;
};
class RsDhtFilteredPeer
@ -157,8 +157,8 @@ class RsDhtFilteredPeer
public:
struct sockaddr_in mAddr;
uint32_t mFilterFlags; /* reasons why we are filtering */
time_t mFilterTS;
time_t mLastSeen;
rstime_t mFilterTS;
rstime_t mLastSeen;
};
class RsDht

View file

@ -24,8 +24,10 @@
#include <string>
#include <list>
#include <stdint.h>
#include "util/rsprint.h"
#include "retroshare/rstypes.h"
#include "util/rstime.h"
/******************************************************************************************
Enumerations defining the Operators usable in the Boolean search expressions
@ -113,7 +115,7 @@ class ExpFileEntry
public:
virtual const std::string& file_name() const =0;
virtual uint64_t file_size() const =0;
virtual time_t file_modtime() const =0;
virtual rstime_t file_modtime() const =0;
virtual uint32_t file_popularity() const =0;
virtual std::string file_parent_path() const =0;
virtual const RsFileHash& file_hash() const =0;

View file

@ -31,6 +31,7 @@
#include "rstypes.h"
#include "serialiser/rsserializable.h"
#include "rsturtle.h"
#include "util/rstime.h"
class RsFiles;
@ -188,7 +189,7 @@ struct BannedFileEntry : RsSerializable
std::string mFilename;
uint64_t mSize;
time_t mBanTimeStamp; // TODO: use rstime_t
rstime_t mBanTimeStamp;
/// @see RsSerializable::serial_process
virtual void serial_process(RsGenericSerializer::SerializeJob j,
@ -349,7 +350,7 @@ public:
virtual bool turtleSearchRequest(
const std::string& matchString,
const std::function<void (const std::list<TurtleFileInfo>& results)>& multiCallback,
std::time_t maxWait = 300 ) = 0;
rstime_t maxWait = 300 ) = 0;
virtual TurtleRequestId turtleSearch(const std::string& string_to_match) = 0;
virtual TurtleRequestId turtleSearch(
@ -419,7 +420,7 @@ public:
* Extra List Access
***/
//virtual bool ExtraFileAdd(std::string fname, std::string hash, uint64_t size, uint32_t period, TransferRequestFlags flags) = 0;
virtual bool ExtraFileRemove(const RsFileHash& hash, TransferRequestFlags flags) = 0;
virtual bool ExtraFileRemove(const RsFileHash& hash) = 0;
virtual bool ExtraFileHash(std::string localpath, uint32_t period, TransferRequestFlags flags) = 0;
virtual bool ExtraFileStatus(std::string localpath, FileInfo &info) = 0;
virtual bool ExtraFileMove(std::string fname, const RsFileHash& hash, uint64_t size, std::string destpath) = 0;

View file

@ -46,9 +46,9 @@ public:
GRouterMsgPropagationId mid ;
std::set<RsPeerId> local_origin;
GRouterKeyId destination ;
time_t routing_time;
time_t last_tunnel_attempt_time;
time_t last_sent_time;
rstime_t routing_time;
rstime_t last_tunnel_attempt_time;
rstime_t last_sent_time;
bool receipt_available ;
uint32_t duplication_factor ;
uint32_t data_status ;

View file

@ -301,7 +301,7 @@ public:
virtual bool turtleSearchRequest(
const std::string& matchString,
const std::function<void (const RsGxsGroupSummary& result)>& multiCallback,
std::time_t maxWait = 300 ) = 0;
rstime_t maxWait = 300 ) = 0;
//////////////////////////////////////////////////////////////////////////////
/// Distant synchronisation methods ///

View file

@ -39,7 +39,7 @@ struct RsGxsNetTunnelVirtualPeerInfo
virtual ~RsGxsNetTunnelVirtualPeerInfo(){}
uint8_t vpid_status ; // status of the peer
time_t last_contact ; // last time some data was sent/recvd
rstime_t last_contact ; // last time some data was sent/recvd
uint8_t side ; // client/server
uint8_t encryption_master_key[32];
@ -68,7 +68,7 @@ struct RsGxsNetTunnelGroupInfo
GroupPolicy group_policy ;
GroupStatus group_status ;
time_t last_contact ;
rstime_t last_contact ;
RsFileHash hash ;
uint16_t service_id ;

View file

@ -49,9 +49,9 @@ struct RsGxsGroupSummary : RsSerializable
RsGxsGroupId mGroupId;
std::string mGroupName;
RsGxsId mAuthorId;
time_t mPublishTs;
rstime_t mPublishTs;
uint32_t mNumberOfMessages;
time_t mLastMessageTs;
rstime_t mLastMessageTs;
uint32_t mSignFlags;
uint32_t mPopularity;

View file

@ -32,6 +32,7 @@
#include "retroshare/rsids.h"
#include "serialiser/rsserializable.h"
#include "serialiser/rstypeserializer.h"
#include "util/rstime.h"
typedef GXSGroupId RsGxsGroupId;
typedef Sha1CheckSum RsGxsMessageId;
@ -67,7 +68,7 @@ struct RsGroupMetaData : RsSerializable
uint32_t mGroupFlags; // Combination of FLAG_PRIVACY_PRIVATE | FLAG_PRIVACY_RESTRICTED | FLAG_PRIVACY_PUBLIC: diffusion
uint32_t mSignFlags; // Combination of RSGXS_GROUP_SIGN_PUBLISH_MASK & RSGXS_GROUP_SIGN_AUTHOR_MASK, i.e. what signatures are required for parent and child msgs
time_t mPublishTs; // Mandatory.
rstime_t mPublishTs; // Mandatory.
RsGxsId mAuthorId; // Author of the group. Left to "000....0" if anonymous
// for circles
@ -84,7 +85,7 @@ struct RsGroupMetaData : RsSerializable
uint32_t mPop; // Popularity = number of friend subscribers
uint32_t mVisibleMsgCount; // Max messages reported by friends
time_t mLastPost; // Timestamp for last message. Not used yet.
rstime_t mLastPost; // Timestamp for last message. Not used yet.
uint32_t mGroupStatus;
std::string mServiceString; // Service Specific Free-Form extra storage.
@ -136,7 +137,7 @@ struct RsMsgMetaData : RsSerializable
RsGxsId mAuthorId;
std::string mMsgName;
time_t mPublishTs;
rstime_t mPublishTs;
/// the lower 16 bits for service, upper 16 bits for GXS
uint32_t mMsgFlags;
@ -147,7 +148,7 @@ struct RsMsgMetaData : RsSerializable
/// the first 16 bits for service, last 16 for GXS
uint32_t mMsgStatus;
time_t mChildTs;
rstime_t mChildTs;
std::string mServiceString; // Service Specific Free-Form extra storage.
/// @see RsSerializable

View file

@ -134,7 +134,7 @@ struct RsGxsIdGroup : RsSerializable
// Avatar
RsGxsImage mImage ;
time_t mLastUsageTS ;
rstime_t mLastUsageTS ;
// Not Serialised - for GUI's benefit.
bool mPgpKnown;
@ -168,8 +168,8 @@ struct RsRecognTagDetails
valid_from(0), valid_to(0), tag_class(0), tag_type(0), is_valid(false),
is_pending(false) {}
time_t valid_from;
time_t valid_to;
rstime_t valid_from;
rstime_t valid_to;
uint16_t tag_class;
uint16_t tag_type;
@ -315,9 +315,9 @@ struct RsIdentityDetails : RsSerializable
RsGxsImage mAvatar;
time_t mLastUsageTS;
rstime_t mLastUsageTS;
std::map<RsIdentityUsage,time_t> mUseCases;
std::map<RsIdentityUsage,rstime_t> mUseCases;
/// @see RsSerializable
virtual void serial_process(RsGenericSerializer::SerializeJob j,
@ -377,6 +377,7 @@ struct RsIdentity : RsGxsIfaceHelper
virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) = 0 ;
virtual bool isARegularContact(const RsGxsId& id) = 0 ;
virtual uint32_t nbRegularContacts() =0;
virtual bool serialiseIdentityToMemory( const RsGxsId& id,
std::string& radix_string ) = 0;
@ -389,7 +390,7 @@ struct RsIdentity : RsGxsIfaceHelper
* \param id
* \return
*/
virtual time_t getLastUsageTS(const RsGxsId &id) =0;
virtual rstime_t getLastUsageTS(const RsGxsId &id) =0;
// Specific RsIdentity Functions....
/* Specific Service Data */

View file

@ -153,7 +153,7 @@ class MessageInfo_v2
//
std::string subject;
std::string msg;
time_t time_stamp ;
rstime_t time_stamp ;
//std::list<MessageHeader> headers ;
@ -165,9 +165,8 @@ class MessageInfo_v2
int count; /* file count */
};
class MessageInfo
struct MessageInfo : RsSerializable
{
public:
MessageInfo(): msgflags(0), size(0), count(0), ts(0) {}
std::string msgId;
@ -199,13 +198,42 @@ public:
int count; /* file count */
int ts;
// RsSerializable interface
void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext &ctx) {
RS_SERIAL_PROCESS(msgId);
RS_SERIAL_PROCESS(rspeerid_srcId);
RS_SERIAL_PROCESS(rsgxsid_srcId);
RS_SERIAL_PROCESS(msgflags);
RS_SERIAL_PROCESS(rspeerid_msgto);
RS_SERIAL_PROCESS(rspeerid_msgcc);
RS_SERIAL_PROCESS(rspeerid_msgbcc);
RS_SERIAL_PROCESS(rsgxsid_msgto);
RS_SERIAL_PROCESS(rsgxsid_msgcc);
RS_SERIAL_PROCESS(rsgxsid_msgcc);
RS_SERIAL_PROCESS(title);
RS_SERIAL_PROCESS(msg);
RS_SERIAL_PROCESS(attach_title);
RS_SERIAL_PROCESS(attach_comment);
RS_SERIAL_PROCESS(files);
RS_SERIAL_PROCESS(size);
RS_SERIAL_PROCESS(count);
RS_SERIAL_PROCESS(ts);
}
};
class MsgInfoSummary
struct MsgInfoSummary : RsSerializable
{
public:
MsgInfoSummary(): msgflags(0), count(0), ts(0) {}
MsgInfoSummary() : msgflags(0), count(0), ts(0) {}
std::string msgId;
RsPeerId srcId;
@ -214,27 +242,43 @@ class MsgInfoSummary
std::string title;
int count; /* file count */
time_t ts;
rstime_t ts;
// RsSerializable interface
void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext &ctx) {
RS_SERIAL_PROCESS(msgId);
RS_SERIAL_PROCESS(srcId);
RS_SERIAL_PROCESS(msgflags);
RS_SERIAL_PROCESS(title);
RS_SERIAL_PROCESS(count);
RS_SERIAL_PROCESS(ts);
}
};
class MsgTagInfo
struct MsgTagInfo : RsSerializable
{
public:
MsgTagInfo() {}
std::string msgId;
std::list<uint32_t> tagIds;
// RsSerializable interface
void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext &ctx) {
RS_SERIAL_PROCESS(msgId);
RS_SERIAL_PROCESS(tagIds);
}
};
class MsgTagType
struct MsgTagType : RsSerializable
{
public:
MsgTagType() {}
/* map containing tagId -> pair (text, rgb color) */
std::map<uint32_t, std::pair<std::string, uint32_t> > types;
// RsSerializable interface
void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext &ctx) {
RS_SERIAL_PROCESS(types);
}
};
} //namespace Rs
@ -382,7 +426,7 @@ public:
std::set<RsPeerId> participating_friends ; // list of direct friend who participate.
uint32_t total_number_of_peers ; // total number of particpating peers. Might not be
time_t last_report_time ; // last time the lobby was reported.
rstime_t last_report_time ; // last time the lobby was reported.
ChatLobbyFlags lobby_flags ; // see RS_CHAT_LOBBY_PRIVACY_LEVEL_PUBLIC / RS_CHAT_LOBBY_PRIVACY_LEVEL_PRIVATE
// RsSerializable interface
@ -410,8 +454,8 @@ public:
RsGxsId gxs_id ; // ID to sign messages
ChatLobbyFlags lobby_flags ; // see RS_CHAT_LOBBY_PRIVACY_LEVEL_PUBLIC / RS_CHAT_LOBBY_PRIVACY_LEVEL_PRIVATE
std::map<RsGxsId, time_t> gxs_ids ; // list of non direct friend who participate. Used to display only.
time_t last_activity ; // last recorded activity. Useful for removing dead lobbies.
std::map<RsGxsId, rstime_t> gxs_ids ; // list of non direct friend who participate. Used to display only.
rstime_t last_activity ; // last recorded activity. Useful for removing dead lobbies.
// RsSerializable interface
public:
@ -444,52 +488,204 @@ public:
RsMsgs() {}
virtual ~RsMsgs() {}
/****************************************/
/* Message Items */
/****************************************/
/****************************************/
/* Message Items */
/****************************************/
virtual bool getMessageSummaries(std::list<Rs::Msgs::MsgInfoSummary> &msgList) = 0;
virtual bool getMessage(const std::string &mId, Rs::Msgs::MessageInfo &msg) = 0;
virtual void getMessageCount(unsigned int *pnInbox, unsigned int *pnInboxNew, unsigned int *pnOutbox, unsigned int *pnDraftbox, unsigned int *pnSentbox, unsigned int *pnTrashbox) = 0;
/**
* @brief getMessageSummaries
* @jsonapi{development}
* @param[out] msgList
* @return always true
*/
virtual bool getMessageSummaries(std::list<Rs::Msgs::MsgInfoSummary> &msgList) = 0;
virtual bool MessageSend(Rs::Msgs::MessageInfo &info) = 0;
virtual bool SystemMessage(const std::string &title, const std::string &message, uint32_t systemFlag) = 0;
virtual bool MessageToDraft(Rs::Msgs::MessageInfo &info, const std::string &msgParentId) = 0;
virtual bool MessageToTrash(const std::string &mid, bool bTrash) = 0;
virtual bool getMsgParentId(const std::string &msgId, std::string &msgParentId) = 0;
/**
* @brief getMessage
* @jsonapi{development}
* @param[in] msgId message ID to lookup
* @param[out] msg
* @return true on success
*/
virtual bool getMessage(const std::string &msgId, Rs::Msgs::MessageInfo &msg) = 0;
/**
* @brief getMessageCount
* @jsonapi{development}
* @param[out] nInbox
* @param[out] nInboxNew
* @param[out] nOutbox
* @param[out] nDraftbox
* @param[out] nSentbox
* @param[out] nTrashbox
*/
virtual void getMessageCount(uint32_t &nInbox, uint32_t &nInboxNew, uint32_t &nOutbox, uint32_t &nDraftbox, uint32_t &nSentbox, uint32_t &nTrashbox) = 0;
virtual bool MessageDelete(const std::string &mid) = 0;
virtual bool MessageRead(const std::string &mid, bool unreadByUser) = 0;
virtual bool MessageReplied(const std::string &mid, bool replied) = 0;
virtual bool MessageForwarded(const std::string &mid, bool forwarded) = 0;
virtual bool MessageStar(const std::string &mid, bool mark) = 0;
virtual bool MessageLoadEmbeddedImages(const std::string &mid, bool load) = 0;
/**
* @brief MessageSend
* @jsonapi{development}
* @param[in] info
* @return always true
*/
virtual bool MessageSend(Rs::Msgs::MessageInfo &info) = 0;
/* message tagging */
/**
* @brief SystemMessage
* @jsonapi{development}
* @param[in] title
* @param[in] message
* @param[in] systemFlag
* @return true on success
*/
virtual bool SystemMessage(const std::string &title, const std::string &message, uint32_t systemFlag) = 0;
virtual bool getMessageTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/* set == false && tagId == 0 --> remove all */
virtual bool setMessageTagType(uint32_t tagId, std::string& text, uint32_t rgb_color) = 0;
virtual bool removeMessageTagType(uint32_t tagId) = 0;
/**
* @brief MessageToDraft
* @jsonapi{development}
* @param[in] info
* @param[in] msgParentId
* @return true on success
*/
virtual bool MessageToDraft(Rs::Msgs::MessageInfo &info, const std::string &msgParentId) = 0;
virtual bool getMessageTag(const std::string &msgId, Rs::Msgs::MsgTagInfo& info) = 0;
virtual bool setMessageTag(const std::string &msgId, uint32_t tagId, bool set) = 0;
/**
* @brief MessageToTrash
* @jsonapi{development}
* @param[in] msgId
* @param[in] bTrash
* @return true on success
*/
virtual bool MessageToTrash(const std::string &msgId, bool bTrash) = 0;
virtual bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/**
* @brief getMsgParentId
* @jsonapi{development}
* @param[in] msgId
* @param[out] msgParentId
* @return true on success
*/
virtual bool getMsgParentId(const std::string &msgId, std::string &msgParentId) = 0;
/****************************************/
/* Private distant messages */
/****************************************/
/**
* @brief MessageDelete
* @jsonapi{development}
* @param[in] msgId
* @return true on success
*/
virtual bool MessageDelete(const std::string &msgId) = 0;
/**
* @brief MessageRead
* @jsonapi{development}
* @param[in] msgId
* @param[in] unreadByUser
* @return true on success
*/
virtual bool MessageRead(const std::string &msgId, bool unreadByUser) = 0;
/**
* @brief MessageReplied
* @jsonapi{development}
* @param[in] msgId
* @param[in] replied
* @return true on success
*/
virtual bool MessageReplied(const std::string &msgId, bool replied) = 0;
/**
* @brief MessageForwarded
* @jsonapi{development}
* @param[in] msgId
* @param[in] forwarded
* @return true on success
*/
virtual bool MessageForwarded(const std::string &msgId, bool forwarded) = 0;
/**
* @brief MessageStar
* @jsonapi{development}
* @param[in] msgId
* @param[in] mark
* @return true on success
*/
virtual bool MessageStar(const std::string &msgId, bool mark) = 0;
/**
* @brief MessageLoadEmbeddedImages
* @jsonapi{development}
* @param[in] msgId
* @param[in] load
* @return true on success
*/
virtual bool MessageLoadEmbeddedImages(const std::string &msgId, bool load) = 0;
/* message tagging */
/**
* @brief getMessageTagTypes
* @jsonapi{development}
* @param[out] tags
* @return always true
*/
virtual bool getMessageTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/**
* @brief setMessageTagType
* @jsonapi{development}
* @param[in] tagId
* @param[in] text
* @param[in] rgb_color
* @return true on success
*/
virtual bool setMessageTagType(uint32_t tagId, std::string& text, uint32_t rgb_color) = 0;
/**
* @brief removeMessageTagType
* @jsonapi{development}
* @param[in] tagId
* @return true on success
*/
virtual bool removeMessageTagType(uint32_t tagId) = 0;
/**
* @brief getMessageTag
* @jsonapi{development}
* @param[in] msgId
* @param[out] info
* @return true on success
*/
virtual bool getMessageTag(const std::string &msgId, Rs::Msgs::MsgTagInfo& info) = 0;
/**
* @brief setMessageTag
* set == false && tagId == 0 --> remove all
* @jsonapi{development}
* @param[in] msgId
* @param[in] tagId
* @param[in] set
* @return true on success
*/
virtual bool setMessageTag(const std::string &msgId, uint32_t tagId, bool set) = 0;
/**
* @brief resetMessageStandardTagTypes
* @jsonapi{development}
* @param[out] tags
* @return always true
*/
virtual bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/****************************************/
/* Private distant messages */
/****************************************/
virtual uint32_t getDistantMessagingPermissionFlags()=0 ;
virtual void setDistantMessagingPermissionFlags(uint32_t flags)=0 ;
/****************************************/
/* Chat */
/****************************************/
// sendChat for broadcast, private, lobby and private distant chat
// note: for lobby chat, you first have to subscribe to a lobby
// for private distant chat, it is reqired to have an active distant chat session
/****************************************/
/* Chat */
/****************************************/
// sendChat for broadcast, private, lobby and private distant chat
// note: for lobby chat, you first have to subscribe to a lobby
// for private distant chat, it is reqired to have an active distant chat session
/**
* @brief sendChat send a chat message to a given id

View file

@ -30,6 +30,7 @@
#include "retroshare/rsids.h"
#include "util/rsurl.h"
#include "util/rsdeprecate.h"
#include "util/rstime.h"
class RsPeers;
@ -272,7 +273,7 @@ struct RsPeerDetails : RsSerializable
/* have we been denied */
bool wasDeniedConnection;
time_t deniedTS;
rstime_t deniedTS;
/* linkType */
uint32_t linkType;

View file

@ -21,7 +21,7 @@
*******************************************************************************/
#pragma once
#include <time.h>
#include "util/rstime.h"
#include <string.h>
#include <stdint.h>
#include <string>
@ -236,7 +236,7 @@ class RsPluginHandler
virtual void allowAllPlugins(bool b) = 0 ;
virtual bool getAllowAllPlugins() const = 0 ;
virtual void slowTickPlugins(time_t sec) = 0 ;
virtual void slowTickPlugins(rstime_t sec) = 0 ;
virtual const std::string& getLocalCacheDir() const =0;
virtual const std::string& getRemoteCacheDir() const =0;

View file

@ -119,7 +119,7 @@ class RsPostedPost
mNewScore = 0;
}
bool calculateScores(time_t ref_time);
bool calculateScores(rstime_t ref_time);
RsMsgMetaData mMeta;
std::string mLink;

View file

@ -57,7 +57,7 @@ class StatusInfo
public:
RsPeerId id;
uint32_t status;
time_t time_stamp; /// for owner time set, and for their peers time sent
rstime_t time_stamp; /// for owner time set, and for their peers time sent
};

View file

@ -103,8 +103,8 @@ struct RsTokReqOptions
uint32_t mSubscribeFilter, mSubscribeMask; // Only for Groups.
// Time range... again applied after Options.
time_t mBefore;
time_t mAfter;
rstime_t mBefore;
rstime_t mAfter;
};
std::ostream &operator<<(std::ostream &out, const RsGroupMetaData &meta);

View file

@ -33,6 +33,7 @@
#include <retroshare/rsflags.h>
#include <serialiser/rsserializable.h>
#include <serialiser/rstypeserializer.h>
#include "util/rstime.h"
#define USE_NEW_CHUNK_CHECKING_CODE
@ -160,6 +161,7 @@ struct PeerBandwidthLimits : RsSerializable
#define DIR_TYPE_PERSON 0x02
#define DIR_TYPE_DIR 0x04
#define DIR_TYPE_FILE 0x08
#define DIR_TYPE_EXTRA_FILE 0x10
/* flags for Directry request -
* two types;
@ -224,7 +226,7 @@ struct FileInfo : RsSerializable
std::vector<TransferInfo> peers;
DwlSpeed priority;
time_t lastTS;
rstime_t lastTS;
std::list<RsNodeGroupId> parent_groups;