修复session会话 bug 使之重复提交 不会死循环(没找到那里死循环)

确定了是get_session 返回错误
This commit is contained in:
2023-05-18 10:50:33 +08:00
parent d71c675680
commit 68b3d8e95d
16 changed files with 252 additions and 77 deletions

View File

@@ -24,34 +24,38 @@ static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema* schemas = n
static constexpr ::PROTOBUF_NAMESPACE_ID::Message* const* file_default_instances = nullptr;
const char descriptor_table_protodef_mp_2emp_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\013mp.mp.proto\022\002mp*\243\002\n\007MP_TYPE\022\024\n\020MP_REQU"
"\n\013mp.mp.proto\022\002mp*\360\002\n\007MP_TYPE\022\024\n\020MP_REQU"
"EST_LOGIN\020\000\022\025\n\021MP_REQUEST_LOGOUT\020\001\022\027\n\023MP"
"_REQUEST_REGISTER\020\002\022\023\n\017MP_REQUEST_CODE\020\003"
"\022\026\n\022MP_REQUEST_FRIENDS\020\004\022\025\n\021MP_REQUEST_G"
"ROUPS\020\005\022\025\n\021MP_RESPONSE_LOGIN\020\024\022\026\n\022MP_RES"
"PONSE_LOGOUT\020\025\022\030\n\024MP_RESPONSE_REGISTER\020\026"
"\022\024\n\020MP_RESPONSE_CODE\020\027\022\027\n\023MP_RESPONSE_FR"
"IENDS\020\030\022\026\n\022MP_RESPONSE_GROUPS\020\031*\205\006\n\013MP_S"
"UB_TYPE\022\022\n\016MP_LOGIN_EMAIL\020\000\022\022\n\016MP_LOGIN_"
"PHONE\020\001\022\024\n\020MP_LOGIN_ACCOUNT\020\002\022\025\n\021MP_REGI"
"STER_EMAIL\020\003\022\025\n\021MP_REGISTER_PHONE\020\004\022\024\n\020M"
"P_LOGIN_SUCCESS\020\005\022\021\n\rMP_LOGIN_FAIL\020\006\022\027\n\023"
"MP_REGISTER_SUCCESS\020\007\022\024\n\020MP_REGISTER_FAI"
"L\020\010\022\021\n\rMP_CODE_EMAIL\020\017\022\021\n\rMP_CODE_PHONE\020"
"\020\022\023\n\017MP_CODE_SUCCESS\020\021\022\020\n\014MP_CODE_FAIL\020\034"
"\022\024\n\020MP_ADD_FRIENDS_0\0203\022\024\n\020MP_ADD_FRIENDS"
"_1\0204\022\024\n\020MP_ADD_FRIENDS_2\0205\022\032\n\026MP_ADD_FRI"
"ENDS_ACCOUNT\0206\022\030\n\024MP_ADD_FRIENDS_EMAIL\0207"
"\022\030\n\024MP_ADD_FRIENDS_PHONE\0208\022\025\n\021MP_ADD_BLA"
"CK_LIST\020;\022\025\n\021MP_ADD_WHITE_LIST\020<\022\024\n\020MP_R"
"EMOVE_FRIEND\020=\022\022\n\016MP_GET_FRIENDS\020>\022\022\n\016MP"
"_ADD_GROUP_0\020\?\022\022\n\016MP_ADD_GROUP_1\020@\022\022\n\016MP"
"_ADD_GROUP_2\020A\022\020\n\014MP_ADD_GROUP\020B\022\023\n\017MP_R"
"EMOVE_GROUP\020C\022\021\n\rMP_GET_GROUPS\020D\022\022\n\016MP_A"
"DD_SUCCESS\020E\022\025\n\021MP_REMOVE_SUCCESS\020F\022\022\n\016M"
"P_GET_SUCCESS\020G\022\017\n\013MP_ADD_FAIL\020H\022\022\n\016MP_R"
"EMOVE_FAIL\020I\022\017\n\013MP_GET_FAIL\020J\022\020\n\014MP_ADD_"
"CHECK\020Pb\006proto3"
"IENDS\020\030\022\026\n\022MP_RESPONSE_GROUPS\020\031\022\021\n\014MP_IM"
"_NOTICE\020\310\001\022\023\n\016MP_IM_PUSH_MSG\020\311\001\022\023\n\016MP_IM"
"_PULL_MSG\020\312\001\022\016\n\tMP_IM_MSG\020\313\001*\353\006\n\013MP_SUB_"
"TYPE\022\022\n\016MP_LOGIN_EMAIL\020\000\022\022\n\016MP_LOGIN_PHO"
"NE\020\001\022\024\n\020MP_LOGIN_ACCOUNT\020\002\022\025\n\021MP_REGISTE"
"R_EMAIL\020\003\022\025\n\021MP_REGISTER_PHONE\020\004\022\024\n\020MP_L"
"OGIN_SUCCESS\020\005\022\021\n\rMP_LOGIN_FAIL\020\006\022\027\n\023MP_"
"REGISTER_SUCCESS\020\007\022\024\n\020MP_REGISTER_FAIL\020\010"
"\022\021\n\rMP_CODE_EMAIL\020\017\022\021\n\rMP_CODE_PHONE\020\020\022\023"
"\n\017MP_CODE_SUCCESS\020\021\022\020\n\014MP_CODE_FAIL\020\034\022\024\n"
"\020MP_ADD_FRIENDS_0\0203\022\024\n\020MP_ADD_FRIENDS_1\020"
"4\022\024\n\020MP_ADD_FRIENDS_2\0205\022\032\n\026MP_ADD_FRIEND"
"S_ACCOUNT\0206\022\030\n\024MP_ADD_FRIENDS_EMAIL\0207\022\030\n"
"\024MP_ADD_FRIENDS_PHONE\0208\022\025\n\021MP_ADD_BLACK_"
"LIST\020;\022\025\n\021MP_ADD_WHITE_LIST\020<\022\024\n\020MP_REMO"
"VE_FRIEND\020=\022\022\n\016MP_GET_FRIENDS\020>\022\022\n\016MP_AD"
"D_GROUP_0\020\?\022\022\n\016MP_ADD_GROUP_1\020@\022\022\n\016MP_AD"
"D_GROUP_2\020A\022\020\n\014MP_ADD_GROUP\020B\022\023\n\017MP_REMO"
"VE_GROUP\020C\022\021\n\rMP_GET_GROUPS\020D\022\022\n\016MP_ADD_"
"SUCCESS\020E\022\025\n\021MP_REMOVE_SUCCESS\020F\022\022\n\016MP_G"
"ET_SUCCESS\020G\022\017\n\013MP_ADD_FAIL\020H\022\022\n\016MP_REMO"
"VE_FAIL\020I\022\017\n\013MP_GET_FAIL\020J\022\020\n\014MP_ADD_CHE"
"CK\020P\022\017\n\nMP_IM_TEXT\020\310\001\022\020\n\013MP_IM_PHOTO\020\311\001\022"
"\020\n\013MP_IM_AUDIO\020\312\001\022\020\n\013MP_IM_VIDEO\020\313\001\022\016\n\tM"
"P_FRIEND\020\254\002\022\r\n\010MP_GROUP\020\255\002b\006proto3"
;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_mp_2emp_2eproto_deps[1] = {
};
@@ -59,7 +63,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mp_
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mp_2emp_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mp_2emp_2eproto = {
false, false, descriptor_table_protodef_mp_2emp_2eproto, "mp.mp.proto", 1095,
false, false, descriptor_table_protodef_mp_2emp_2eproto, "mp.mp.proto", 1274,
&descriptor_table_mp_2emp_2eproto_once, descriptor_table_mp_2emp_2eproto_sccs, descriptor_table_mp_2emp_2eproto_deps, 0, 0,
schemas, file_default_instances, TableStruct_mp_2emp_2eproto::offsets,
file_level_metadata_mp_2emp_2eproto, 0, file_level_enum_descriptors_mp_2emp_2eproto, file_level_service_descriptors_mp_2emp_2eproto,
@@ -86,6 +90,10 @@ bool MP_TYPE_IsValid(int value) {
case 23:
case 24:
case 25:
case 200:
case 201:
case 202:
case 203:
return true;
default:
return false;
@@ -134,6 +142,12 @@ bool MP_SUB_TYPE_IsValid(int value) {
case 73:
case 74:
case 80:
case 200:
case 201:
case 202:
case 203:
case 300:
case 301:
return true;
default:
return false;

View File

@@ -70,12 +70,16 @@ enum MP_TYPE : int {
MP_RESPONSE_CODE = 23,
MP_RESPONSE_FRIENDS = 24,
MP_RESPONSE_GROUPS = 25,
MP_IM_NOTICE = 200,
MP_IM_PUSH_MSG = 201,
MP_IM_PULL_MSG = 202,
MP_IM_MSG = 203,
MP_TYPE_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
MP_TYPE_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool MP_TYPE_IsValid(int value);
constexpr MP_TYPE MP_TYPE_MIN = MP_REQUEST_LOGIN;
constexpr MP_TYPE MP_TYPE_MAX = MP_RESPONSE_GROUPS;
constexpr MP_TYPE MP_TYPE_MAX = MP_IM_MSG;
constexpr int MP_TYPE_ARRAYSIZE = MP_TYPE_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MP_TYPE_descriptor();
@@ -129,12 +133,18 @@ enum MP_SUB_TYPE : int {
MP_REMOVE_FAIL = 73,
MP_GET_FAIL = 74,
MP_ADD_CHECK = 80,
MP_IM_TEXT = 200,
MP_IM_PHOTO = 201,
MP_IM_AUDIO = 202,
MP_IM_VIDEO = 203,
MP_FRIEND = 300,
MP_GROUP = 301,
MP_SUB_TYPE_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
MP_SUB_TYPE_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool MP_SUB_TYPE_IsValid(int value);
constexpr MP_SUB_TYPE MP_SUB_TYPE_MIN = MP_LOGIN_EMAIL;
constexpr MP_SUB_TYPE MP_SUB_TYPE_MAX = MP_ADD_CHECK;
constexpr MP_SUB_TYPE MP_SUB_TYPE_MAX = MP_GROUP;
constexpr int MP_SUB_TYPE_ARRAYSIZE = MP_SUB_TYPE_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MP_SUB_TYPE_descriptor();

24
MP/protohuf/mp.im.proto Normal file
View File

@@ -0,0 +1,24 @@
syntax = "proto3";
package mp.im;
import "mp.mp.proto";
/// 两个包 使用message_id 保证消息的同步 ***************************************************************////
//************************************/
/***** 只通知id 无论 push pull *****/
/*************************************/
// 推送 [通知包]
message notice { // pull push
string message_id = 1; // 消息id[] 数组 字节序 转成 uint64
}
// 获取/推送 [消息包]
message data {
MP_SUB_TYPE msg_type = 1; // [] 数组 // 消息类型 子命令 分辨什么类型的消息 文本 视频 音频?
MP_SUB_TYPE session_type = 2; // [] 数组 // 会话 目标/来源 类型 分辨是群消息还是 单体消息
string message_id = 3; // [] 数组 // 消息id 字节序 转成 uint64
uint64 account = 4; // [] 数组 // 消息 目标/来源
string msg_data = 5; // [] 数组 // 消息数据字节序
}

View File

@@ -21,7 +21,10 @@ enum MP_TYPE {
// 200 以后为 聊天消息包
// MP_IM
MP_IM_NOTICE = 200; // 消息推送通知
MP_IM_PUSH_MSG = 201; // 推消息 ---> 推至储存库/同步库
MP_IM_PULL_MSG = 202; // 拉消息 ---> 同步库/储存库拉取
MP_IM_MSG = 203; // 消息包本体 包含数据
}
enum MP_SUB_TYPE {
@@ -68,7 +71,7 @@ enum MP_SUB_TYPE {
MP_ADD_GROUP_2 = 65; // 添加权限 2 账户审核
MP_ADD_GROUP = 66; // 添加群组
MP_REMOVE_GROUP = 67; // 删除群组
MP_GET_GROUPS = 68; // 取账户群组列表
MP_GET_GROUPS = 68; // 取账户群组列表
MP_ADD_SUCCESS = 69; // 添加成功
MP_REMOVE_SUCCESS = 70; // 删除成功
@@ -80,4 +83,17 @@ enum MP_SUB_TYPE {
MP_ADD_CHECK = 80; // 需要回答问题的好友/群组 验证问题
///***********************************************************************************///
/// 200+ IM ***********************************************************************************///
MP_IM_TEXT = 200; // 文本
MP_IM_PHOTO = 201; // 图片
MP_IM_AUDIO = 202; // 语音
MP_IM_VIDEO = 203; // 视频
MP_FRIEND = 300; // 单体会话
MP_GROUP = 301; // 群组会话
///***********************************************************************************///
}