提交 15cf0992 编写于 作者: yitter's avatar yitter

auto commit

上级 d12b8e9d
......@@ -90,11 +90,11 @@ func Validate(workerId int32) int32 {
// To Build a dll/so:
// windows:
// go build -o ./target/yitidgengo.dll -buildmode=c-shared main.go
// // go build -o ./target/yitidgengo.dll -buildmode=c-shared main.go reg.go
// go build -o ./target/workeridgo.dll -buildmode=c-shared main.go
// // go build -o ./target/workeridgo.dll -buildmode=c-shared main.go reg.go
// linux init: go install -buildmode=shared -linkshared std
// go build -o ./target/yitidgengo.so -buildmode=c-shared main.go
// go build -o ./target/yitidgengo.so -buildmode=c-shared main.go reg.go
// go build -o ./target/workeridgo.so -buildmode=c-shared main.go
// go build -o ./target/workeridgo.so -buildmode=c-shared main.go reg.go
// https://books.studygolang.com/advanced-go-programming-book/ch2-cgo/ch2-09-static-shared-lib.html
......@@ -69,13 +69,31 @@ extern "C" {
#endif
// 注册一个 WorkerId,会先注销所有本机已注册的记录
extern __declspec(dllexport) GoInt32 RegisterOne(char* ip, GoInt32 port, char* password, GoInt32 maxWorkerId, GoInt database);
// 注销本机已注册的 WorkerId
// RegisterOne 注册一个 WorkerId,会先注销所有本机已注册的记录
// address: Redis连接地址,单机模式示例:127.0.0.1:6379,哨兵/集群模式示例:127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382
// password: Redis连接密码
// db: Redis指定存储库,示例:1
// sentinelMasterName: Redis 哨兵模式下的服务名称,示例:mymaster,非哨兵模式传入空字符串即可
// minWorkerId: WorkerId 最小值,示例:30
// maxWorkerId: WorkerId 最大值,示例:63
// lifeTimeSeconds: WorkerId缓存时长(秒,3的倍数)
extern __declspec(dllexport) GoInt32 RegisterOne(char* address, char* password, GoInt db, char* sentinelMasterName, GoInt32 minWorkerId, GoInt32 maxWorkerId, GoInt32 lifeTimeSeconds);
// RegisterMany 注册多个 WorkerId,会先注销所有本机已注册的记录
// address: Redis连接地址,单机模式示例:127.0.0.1:6379,哨兵/集群模式示例:127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382
// password: Redis连接密码
// db: Redis指定存储库,示例:1
// sentinelMasterName: Redis 哨兵模式下的服务名称,示例:mymaster,非哨兵模式传入空字符串即可
// maxWorkerId: WorkerId 最大值,示例:63
// minWorkerId: WorkerId 最小值,示例:30
// totalCount: 获取N个WorkerId,示例:5
// lifeTimeSeconds: WorkerId缓存时长(秒,3的倍数)
extern __declspec(dllexport) GoSlice RegisterMany(char* address, char* password, GoInt db, char* sentinelMasterName, GoInt32 minWorkerId, GoInt32 maxWorkerId, GoInt32 totalCount, GoInt32 lifeTimeSeconds);
// UnRegister 注销本机已注册的 WorkerId
extern __declspec(dllexport) void UnRegister();
// 检查本地WorkerId是否有效(0-有效,其它-无效)
// Validate 检查本地WorkerId是否有效(0-有效,其它-无效)
extern __declspec(dllexport) GoInt32 Validate(GoInt32 workerId);
#ifdef __cplusplus
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册