timeline
This commit is contained in:
49
MessageSystem/TimeLine.h
Normal file
49
MessageSystem/TimeLine.h
Normal file
@@ -0,0 +1,49 @@
|
||||
//
|
||||
// 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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif //IM2_TIMELINE_H
|
||||
Reference in New Issue
Block a user