Skip to content

Commit dae708e

Browse files
committed
added:Distributed lock support for help module
1 parent dce534f commit dae708e

File tree

6 files changed

+175
-10
lines changed

6 files changed

+175
-10
lines changed

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,4 +286,105 @@ extern "C" BOOL ModuleHelp_P2PClient_DelAll();
286286
意思:是否成功
287287
备注:
288288
*********************************************************************/
289-
extern "C" BOOL ModuleHelp_P2PClient_Heart(XENGINE_P2XPPEER_PROTOCOL* pSt_P2PProtocol);
289+
extern "C" BOOL ModuleHelp_P2PClient_Heart(XENGINE_P2XPPEER_PROTOCOL* pSt_P2PProtocol);
290+
/************************************************************************/
291+
/* 分布式锁导出函数 */
292+
/************************************************************************/
293+
/********************************************************************
294+
函数名称:ModuleHelp_Locker_Create
295+
函数功能:创建锁
296+
参数.一:pxhToken
297+
In/Out:Out
298+
类型:句柄
299+
可空:N
300+
意思:输出创建的锁句柄,并且会打开这个锁
301+
返回值
302+
类型:逻辑型
303+
意思:是否成功
304+
备注:
305+
*********************************************************************/
306+
extern "C" BOOL ModuleHelp_Locker_Create(XNETHANDLE* pxhToken);
307+
/********************************************************************
308+
函数名称:ModuleHelp_Locker_OPen
309+
函数功能:打开一个锁
310+
参数.一:xhToken
311+
In/Out:In
312+
类型:锁句柄
313+
可空:N
314+
意思:输入要操作的锁
315+
返回值
316+
类型:逻辑型
317+
意思:是否成功
318+
备注:
319+
*********************************************************************/
320+
extern "C" BOOL ModuleHelp_Locker_OPen(XNETHANDLE xhToken);
321+
/********************************************************************
322+
函数名称:ModuleHelp_Locker_ReadLock
323+
函数功能:读加锁
324+
参数.一:xhToken
325+
In/Out:In
326+
类型:锁句柄
327+
可空:N
328+
意思:输入要操作的锁
329+
返回值
330+
类型:逻辑型
331+
意思:是否成功
332+
备注:
333+
*********************************************************************/
334+
extern "C" BOOL ModuleHelp_Locker_ReadLock(XNETHANDLE xhToken);
335+
/********************************************************************
336+
函数名称:ModuleHelp_Locker_ReadUNLock
337+
函数功能:读解锁
338+
参数.一:xhToken
339+
In/Out:In
340+
类型:锁句柄
341+
可空:N
342+
意思:输入要操作的锁
343+
返回值
344+
类型:逻辑型
345+
意思:是否成功
346+
备注:
347+
*********************************************************************/
348+
extern "C" BOOL ModuleHelp_Locker_ReadUNLock(XNETHANDLE xhToken);
349+
/********************************************************************
350+
函数名称:ModuleHelp_Locker_WriteLock
351+
函数功能:写加锁
352+
参数.一:xhToken
353+
In/Out:In
354+
类型:锁句柄
355+
可空:N
356+
意思:输入要操作的锁
357+
返回值
358+
类型:逻辑型
359+
意思:是否成功
360+
备注:
361+
*********************************************************************/
362+
extern "C" BOOL ModuleHelp_Locker_WriteLock(XNETHANDLE xhToken);
363+
/********************************************************************
364+
函数名称:ModuleHelp_Locker_WriteUNLock
365+
函数功能:写解锁
366+
参数.一:xhToken
367+
In/Out:In
368+
类型:锁句柄
369+
可空:N
370+
意思:输入要操作的锁
371+
返回值
372+
类型:逻辑型
373+
意思:是否成功
374+
备注:
375+
*********************************************************************/
376+
extern "C" BOOL ModuleHelp_Locker_WriteUNLock(XNETHANDLE xhToken);
377+
/********************************************************************
378+
函数名称:ModuleHelp_Locker_Close
379+
函数功能:关闭锁
380+
参数.一:xhToken
381+
In/Out:In
382+
类型:锁句柄
383+
可空:N
384+
意思:输入要操作的锁
385+
返回值
386+
类型:逻辑型
387+
意思:是否成功
388+
备注:
389+
*********************************************************************/
390+
extern "C" BOOL ModuleHelp_Locker_Close(XNETHANDLE xhToken);

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Error.h

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,20 @@
2525
//////////////////////////////////////////////////////////////////////////
2626
// 节点管理器错误
2727
//////////////////////////////////////////////////////////////////////////
28-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_ISEXIST 0xB0E0001 //用户已经存在
29-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_MALLOC 0xB0E0002 //申请内存失败
30-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_PARAMENT 0xB0E0003 //获取用户信息失败,参数错误
31-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTFOUND 0xB0E0004 //没有找到用户
32-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTPUBADDRR 0xB0E0005 //公网IP地址没有找到
33-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTPRIADDR 0xB0E0006 //私有网络IP地址没有找到
34-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOLIST 0xB0E0007 //没有数据存在
35-
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_THREAD 0xB0E0008 //创建线程失败
28+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_ISEXIST 0xD2001 //用户已经存在
29+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_MALLOC 0xD2002 //申请内存失败
30+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_PARAMENT 0xD2003 //获取用户信息失败,参数错误
31+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTFOUND 0xD2004 //没有找到用户
32+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTPUBADDRR 0xD2005 //公网IP地址没有找到
33+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTPRIADDR 0xD2006 //私有网络IP地址没有找到
34+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOLIST 0xD2007 //没有数据存在
35+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_THREAD 0xD2008 //创建线程失败
36+
//////////////////////////////////////////////////////////////////////////
37+
// 分布式锁错误
38+
//////////////////////////////////////////////////////////////////////////
39+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_PARAMENT 0xD3001 //参数错误
40+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_MALLOC 0xD3002 //申请内存失败
41+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_EXIST 0xD3003 //已经存在
42+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_NOTFOUND 0xD3004 //没有找到锁
43+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_LOCKED 0xD3005 //已锁定
44+
#define ERROR_XENGINE_APISERVICE_MODULE_HELP_LOCK_STATUS 0xD3006 //解锁状态错误

XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,12 @@ EXPORTS
1818
ModuleHelp_P2PClient_GetWList
1919
ModuleHelp_P2PClient_Delete
2020
ModuleHelp_P2PClient_DelAll
21-
ModuleHelp_P2PClient_Heart
21+
ModuleHelp_P2PClient_Heart
22+
23+
ModuleHelp_Locker_Create
24+
ModuleHelp_Locker_OPen
25+
ModuleHelp_Locker_ReadLock
26+
ModuleHelp_Locker_ReadUNLock
27+
ModuleHelp_Locker_WriteLock
28+
ModuleHelp_Locker_WriteUNLock
29+
ModuleHelp_Locker_Close

XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,15 @@
168168
<ClInclude Include="ModuleHelp_Error.h" />
169169
<ClInclude Include="ModuleHelp_IDCard\ModuleHelp_IDCard.h" />
170170
<ClInclude Include="ModuleHelp_Language\ModuleHelp_Language.h" />
171+
<ClInclude Include="ModuleHelp_Locker\ModuleHelp_Locker.h" />
171172
<ClInclude Include="ModuleHelp_P2PClient\ModuleHelp_P2PClient.h" />
172173
<ClInclude Include="pch.h" />
173174
</ItemGroup>
174175
<ItemGroup>
175176
<ClCompile Include="dllmain.cpp" />
176177
<ClCompile Include="ModuleHelp_IDCard\ModuleHelp_IDCard.cpp" />
177178
<ClCompile Include="ModuleHelp_Language\ModuleHelp_Language.cpp" />
179+
<ClCompile Include="ModuleHelp_Locker\ModuleHelp_Locker.cpp" />
178180
<ClCompile Include="ModuleHelp_P2PClient\ModuleHelp_P2PClient.cpp" />
179181
<ClCompile Include="pch.cpp">
180182
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>

XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj.filters

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@
3131
<Filter Include="源文件\ModuleHelp_P2PClient">
3232
<UniqueIdentifier>{2b552f75-e436-45a8-ba71-e398eeb4a68a}</UniqueIdentifier>
3333
</Filter>
34+
<Filter Include="源文件\ModuleHelp_Locker">
35+
<UniqueIdentifier>{7c721149-87d5-433c-82da-04316a6c638f}</UniqueIdentifier>
36+
</Filter>
37+
<Filter Include="头文件\ModuleHelp_Locker">
38+
<UniqueIdentifier>{7e3b001c-b07c-4457-ab32-54b6d25ccbae}</UniqueIdentifier>
39+
</Filter>
3440
</ItemGroup>
3541
<ItemGroup>
3642
<ClInclude Include="framework.h">
@@ -54,6 +60,9 @@
5460
<ClInclude Include="ModuleHelp_P2PClient\ModuleHelp_P2PClient.h">
5561
<Filter>头文件\ModuleHelp_P2PClient</Filter>
5662
</ClInclude>
63+
<ClInclude Include="ModuleHelp_Locker\ModuleHelp_Locker.h">
64+
<Filter>头文件\ModuleHelp_Locker</Filter>
65+
</ClInclude>
5766
</ItemGroup>
5867
<ItemGroup>
5968
<ClCompile Include="dllmain.cpp">
@@ -71,6 +80,9 @@
7180
<ClCompile Include="ModuleHelp_P2PClient\ModuleHelp_P2PClient.cpp">
7281
<Filter>源文件\ModuleHelp_P2PClient</Filter>
7382
</ClCompile>
83+
<ClCompile Include="ModuleHelp_Locker\ModuleHelp_Locker.cpp">
84+
<Filter>源文件\ModuleHelp_Locker</Filter>
85+
</ClCompile>
7486
</ItemGroup>
7587
<ItemGroup>
7688
<None Include="XEngine_ModuleHelp.def">

XEngine_Source/XEngine_ModuleHelp/pch.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "ModuleHelp_IDCard/ModuleHelp_IDCard.h"
33
#include "ModuleHelp_Language/ModuleHelp_Language.h"
44
#include "ModuleHelp_P2PClient/ModuleHelp_P2PClient.h"
5+
#include "ModuleHelp_Locker/ModuleHelp_Locker.h"
56
/********************************************************************
67
// Created: 2022/03/04 13:37:38
78
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleHelp\pch.cpp
@@ -19,6 +20,7 @@ DWORD ModuleHelp_dwErrorCode = 0;
1920
CModuleHelp_IDCard m_IDCard;
2021
CModuleHelp_Language m_Language;
2122
CModuleHelp_P2PClient m_P2PClient;
23+
CModuleHelp_Locker m_Locker;
2224
//////////////////////////////////////////////////////////////////////////
2325
/// 导出的函数
2426
//////////////////////////////////////////////////////////////////////////
@@ -94,4 +96,35 @@ extern "C" BOOL ModuleHelp_P2PClient_DelAll()
9496
extern "C" BOOL ModuleHelp_P2PClient_Heart(XENGINE_P2XPPEER_PROTOCOL * pSt_P2PProtocol)
9597
{
9698
return m_P2PClient.ModuleHelp_P2PClient_Heart(pSt_P2PProtocol);
99+
}
100+
/************************************************************************/
101+
/* 分布式锁导出函数 */
102+
/************************************************************************/
103+
extern "C" BOOL ModuleHelp_Locker_Create(XNETHANDLE * pxhToken)
104+
{
105+
return m_Locker.ModuleHelp_Locker_Create(pxhToken);
106+
}
107+
extern "C" BOOL ModuleHelp_Locker_OPen(XNETHANDLE xhToken)
108+
{
109+
return m_Locker.ModuleHelp_Locker_OPen(xhToken);
110+
}
111+
extern "C" BOOL ModuleHelp_Locker_ReadLock(XNETHANDLE xhToken)
112+
{
113+
return m_Locker.ModuleHelp_Locker_ReadLock(xhToken);
114+
}
115+
extern "C" BOOL ModuleHelp_Locker_ReadUNLock(XNETHANDLE xhToken)
116+
{
117+
return m_Locker.ModuleHelp_Locker_ReadUNLock(xhToken);
118+
}
119+
extern "C" BOOL ModuleHelp_Locker_WriteLock(XNETHANDLE xhToken)
120+
{
121+
return m_Locker.ModuleHelp_Locker_WriteLock(xhToken);
122+
}
123+
extern "C" BOOL ModuleHelp_Locker_WriteUNLock(XNETHANDLE xhToken)
124+
{
125+
return m_Locker.ModuleHelp_Locker_WriteUNLock(xhToken);
126+
}
127+
extern "C" BOOL ModuleHelp_Locker_Close(XNETHANDLE xhToken)
128+
{
129+
return m_Locker.ModuleHelp_Locker_Close(xhToken);
97130
}

0 commit comments

Comments
 (0)