Skip to content

Commit

Permalink
change php test case
Browse files Browse the repository at this point in the history
  • Loading branch information
wujunwei committed Jan 28, 2020
1 parent d3fdb36 commit c069a28
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
14 changes: 7 additions & 7 deletions slock.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ int SlockLock_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int ar
int keyType = RedisModule_KeyType(key);
if (keyType == REDISMODULE_KEYTYPE_EMPTY) {
SLock *lock = RedisModule_Alloc(sizeof(*lock));
lock->client_id = RedisModule_GetClientId(ctx);
lock->write_client_id = RedisModule_GetClientId(ctx);
lock->lock_time = RedisModule_Milliseconds();

RedisModule_ModuleTypeSetValue(key, SLockType, lock);
Expand Down Expand Up @@ -67,7 +67,7 @@ int SlockInfo_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int ar
} else {
SLock *lock = RedisModule_ModuleTypeGetValue(key);
RedisModule_ReplyWithArray(ctx, 2);
RedisModule_ReplyWithLongLong(ctx, lock->client_id);
RedisModule_ReplyWithLongLong(ctx, lock->write_client_id);
RedisModule_ReplyWithLongLong(ctx, lock->lock_time);
}
RedisModule_CloseKey(key);
Expand Down Expand Up @@ -96,7 +96,7 @@ int SlockUnLock_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int
} else {
SLock *lock;
lock = RedisModule_ModuleTypeGetValue(key);
if (lock->client_id == RedisModule_GetClientId(ctx)) {
if (lock->write_client_id == RedisModule_GetClientId(ctx)) {
RedisModule_DeleteKey(key);
RedisModule_ReplyWithLongLong(ctx, 1);
} else {
Expand All @@ -115,20 +115,20 @@ void *SLockRdbLoad(RedisModuleIO *rdb, int encver) {
return NULL;
}
SLock *sl = RedisModule_Alloc(sizeof(sl));
sl->client_id = RedisModule_LoadUnsigned(rdb);
sl->write_client_id = RedisModule_LoadUnsigned(rdb);
sl->lock_time = RedisModule_LoadSigned(rdb);
return sl;
}

void SLockRdbSave(RedisModuleIO *rdb, void *value) {
SLock *sl = value;
RedisModule_SaveUnsigned(rdb, sl->client_id);
RedisModule_SaveUnsigned(rdb, sl->write_client_id);
RedisModule_SaveSigned(rdb, sl->lock_time);
}

void SLockAofRewrite(RedisModuleIO *aof, RedisModuleString *key, void *value) {
SLock *sl = value;
RedisModule_EmitAOF(aof, "SLOCK.LOCK", "sll", key, sl->lock_time, sl->client_id);
RedisModule_EmitAOF(aof, "SLOCK.LOCK", "sll", key, sl->lock_time, sl->write_client_id);
}

/* The goal of this function is to return the amount of memory used by
Expand All @@ -144,7 +144,7 @@ void SLockFree(void *value) {

void SLockDigest(RedisModuleDigest *md, void *value) {
SLock *sl = value;
RedisModule_DigestAddLongLong(md, sl->client_id);
RedisModule_DigestAddLongLong(md, sl->write_client_id);
RedisModule_DigestAddLongLong(md, sl->lock_time);
RedisModule_DigestEndSequence(md);
}
Expand Down
9 changes: 5 additions & 4 deletions slock.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@

static RedisModuleType *SLockType;

#define BOOL int
#define TRUE 1
#define FALSE 0

typedef struct slock {
mstime_t lock_time;
ushort is_write;
BOOL is_write;
//todo read_client_list
unsigned long long write_client_id;
} SLock;
Expand All @@ -28,7 +32,4 @@ typedef struct slock {
#define MODULE_NAME "slock"
#define MODULE_VERSION 2

#define BOOL int
#define TRUE 1
#define FALSE 0
#endif

0 comments on commit c069a28

Please sign in to comment.