IM/MessageSystem/TimeLine.h
2023-05-29 18:12:22 +08:00

50 lines
706 B
C++

//
// Created by dongl on 23-5-17.
//
#ifndef IM2_TIMELINE_H
#define IM2_TIMELINE_H
#include <string>
#include <queue>
#include "proto/mp.mp.pb.h"
struct SynMsg {
uint64_t message_id;
time_t msg_time;
};
struct StorageMsg {
mp::MP_SUB_TYPE msg_type;
mp::MP_SUB_TYPE session_type;
uint64_t message_id;
time_t msg_time;
uint64_t account;
std::string msg_data;
};
template<class T>
class TimeLine {
void push(T ele) {
queue.push(ele);
}
T* pull() {
auto ele = queue.front();
queue.back();
return ele;
}
private:
std::mutex mutex;
std::queue<T> queue;
mongocxx::pool* pool;
};
#endif //IM2_TIMELINE_H