~= 0 then return nil; else local redenvelope = redis.call('rpop', 'redenvelope'); if redenvelope then local r = cjson.decode(redenvelope); r['userID'] = tonumber(userID); local re = cjson.encode(r); redis.call('hset', rID, userID, userID); redis.call('lpush', 'consume_' .. rID, re); return re; end end return nil; end 16
7); end local function parseHeader(header) return struct.unpack('I4HH', header); end local function setHeader(name, lastID, head, tail) local header = struct.pack('I4HH', lastID, head, tail); redis.call('setrange', name, 0, header); end 22