diff options
author | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2020-12-13 12:45:38 +0300 |
---|---|---|
committer | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2021-08-26 09:55:38 +0300 |
commit | eca6278f6a36ca4020279040cde4ae403691c92f (patch) | |
tree | 18a6b2d1af4ef3fd53a332f8877e3647d9977598 | |
parent | c8ae53952349441ae0ecaedf60bd4381d33cba76 (diff) |
[WIP] Use stub/arginfo for RedisCluster
-rw-r--r-- | redis.c | 6 | ||||
-rw-r--r-- | redis_cluster.c | 270 | ||||
-rw-r--r-- | redis_cluster.h | 205 | ||||
-rw-r--r-- | redis_cluster.stub.php | 211 | ||||
-rw-r--r-- | redis_cluster_arginfo.h | 100 | ||||
-rw-r--r-- | redis_cluster_legacy_arginfo.h | 97 |
6 files changed, 422 insertions, 467 deletions
@@ -61,10 +61,6 @@ zend_class_entry *redis_ce; zend_class_entry *redis_exception_ce; extern int le_cluster_slot_cache; - -extern zend_function_entry redis_array_functions[]; -extern zend_function_entry redis_cluster_functions[]; - int le_redis_pconnect; PHP_INI_BEGIN() @@ -867,7 +863,7 @@ PHP_MINIT_FUNCTION(redis) redis_array_ce->create_object = create_redis_array_object; /* RedisCluster class */ - INIT_CLASS_ENTRY(redis_cluster_class_entry, "RedisCluster", redis_cluster_functions); + INIT_CLASS_ENTRY(redis_cluster_class_entry, "RedisCluster", redis_cluster_get_methods()); redis_cluster_ce = zend_register_internal_class(&redis_cluster_class_entry); redis_cluster_ce->create_object = create_cluster_context; diff --git a/redis_cluster.c b/redis_cluster.c index 8c451994..140f51bc 100644 --- a/redis_cluster.c +++ b/redis_cluster.c @@ -35,268 +35,20 @@ zend_class_entry *redis_cluster_ce; /* Exception handler */ zend_class_entry *redis_cluster_exception_ce; +#if PHP_VERSION_ID < 80000 +#include "redis_cluster_legacy_arginfo.h" +#else +#include "redis_cluster_arginfo.h" +#endif + +extern const zend_function_entry *redis_cluster_get_methods(void) +{ + return class_RedisCluster_methods; +} + /* Handlers for RedisCluster */ zend_object_handlers RedisCluster_handlers; -ZEND_BEGIN_ARG_INFO_EX(arginfo_ctor, 0, 0, 1) - ZEND_ARG_INFO(0, name) - ZEND_ARG_ARRAY_INFO(0, seeds, 0) - ZEND_ARG_INFO(0, timeout) - ZEND_ARG_INFO(0, read_timeout) - ZEND_ARG_INFO(0, persistent) - ZEND_ARG_INFO(0, auth) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_del, 0, 0, 1) - ZEND_ARG_INFO(0, key) - ZEND_ARG_VARIADIC_INFO(0, other_keys) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mget, 0, 0, 1) - ZEND_ARG_ARRAY_INFO(0, keys, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_keys, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_or_address, 0, 0, 1) - ZEND_ARG_INFO(0, key_or_address) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_key_or_address_variadic, 0, 0, 1) - ZEND_ARG_INFO(0, key_or_address) - ZEND_ARG_INFO(0, arg) - ZEND_ARG_VARIADIC_INFO(0, other_args) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_info, 0, 0, 1) - ZEND_ARG_INFO(0, key_or_address) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_flush, 0, 0, 1) - ZEND_ARG_INFO(0, key_or_address) - ZEND_ARG_INFO(0, async) -ZEND_END_ARG_INFO() - -/* Argument info for HSCAN, SSCAN, HSCAN */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_kscan_cl, 0, 0, 2) - ZEND_ARG_INFO(0, str_key) - ZEND_ARG_INFO(1, i_iterator) - ZEND_ARG_INFO(0, str_pattern) - ZEND_ARG_INFO(0, i_count) -ZEND_END_ARG_INFO() - -/* Argument info for SCAN */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_scan_cl, 0, 0, 2) - ZEND_ARG_INFO(1, i_iterator) - ZEND_ARG_INFO(0, str_node) - ZEND_ARG_INFO(0, str_pattern) - ZEND_ARG_INFO(0, i_count) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_acl_cl, 0, 0, 2) - ZEND_ARG_INFO(0, key_or_address) - ZEND_ARG_INFO(0, subcmd) - ZEND_ARG_VARIADIC_INFO(0, args) -ZEND_END_ARG_INFO() - -/* Function table */ -zend_function_entry redis_cluster_functions[] = { - PHP_ME(RedisCluster, __construct, arginfo_ctor, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _masters, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _prefix, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _redir, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _serialize, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _unserialize, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _compress, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _uncompress, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _pack, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, _unpack, arginfo_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, acl, arginfo_acl_cl, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, append, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bgrewriteaof, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bgsave, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bitcount, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bitop, arginfo_bitop, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bitpos, arginfo_bitpos, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, blpop, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, brpop, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, brpoplpush, arginfo_brpoplpush, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, clearlasterror, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bzpopmax, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, bzpopmin, arginfo_blrpop, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, client, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, close, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, cluster, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, command, arginfo_command, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, config, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, dbsize, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, decr, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, decrby, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, del, arginfo_del, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, discard, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, dump, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, echo, arginfo_echo, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, eval, arginfo_eval, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, evalsha, arginfo_evalsha, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, exec, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, exists, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, expire, arginfo_expire, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, expireat, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, flushall, arginfo_flush, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, flushdb, arginfo_flush, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, geoadd, arginfo_geoadd, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, geodist, arginfo_geodist, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, geohash, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, geopos, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, georadius, arginfo_georadius, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, georadius_ro, arginfo_georadius, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, georadiusbymember, arginfo_georadiusbymember, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, georadiusbymember_ro, arginfo_georadiusbymember, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, get, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getbit, arginfo_key_offset, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getlasterror, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getmode, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getoption, arginfo_getoption, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getrange, arginfo_key_start_end, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, getset, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hdel, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hexists, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hget, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hgetall, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hincrby, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hincrbyfloat, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hkeys, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hlen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hmget, arginfo_hmget, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hmset, arginfo_hmset, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hscan, arginfo_kscan_cl, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hset, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hsetnx, arginfo_key_member_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hstrlen, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, hvals, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, incr, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, incrby, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, incrbyfloat, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, info, arginfo_info, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, keys, arginfo_keys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lastsave, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lget, arginfo_lindex, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lindex, arginfo_lindex, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, linsert, arginfo_linsert, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, llen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lpop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lpush, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lpushx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lrange, arginfo_key_start_end, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lrem, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, lset, arginfo_lset, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, ltrim, arginfo_ltrim, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, mget, arginfo_mget, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, mset, arginfo_pairs, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, msetnx, arginfo_pairs, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, multi, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, object, arginfo_object, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, persist, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pexpire, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pexpireat, arginfo_key_timestamp, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pfadd, arginfo_pfadd, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pfcount, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pfmerge, arginfo_pfmerge, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, ping, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, psetex, arginfo_key_expire_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, psubscribe, arginfo_psubscribe, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pttl, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, publish, arginfo_publish, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, pubsub, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, punsubscribe, arginfo_punsubscribe, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, randomkey, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rawcommand, arginfo_rawcommand, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rename, arginfo_key_newkey, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, renamenx, arginfo_key_newkey, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, restore, arginfo_restore, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, role, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rpop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rpoplpush, arginfo_rpoplpush, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rpush, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, rpushx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sadd, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, saddarray, arginfo_sadd_array, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, save, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, scan, arginfo_scan_cl, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, scard, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, script, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sdiff, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sdiffstore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, set, arginfo_set, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, setbit, arginfo_key_offset_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, setex, arginfo_key_expire_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, setnx, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, setoption, arginfo_setoption, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, setrange, arginfo_key_offset_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sinter, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sinterstore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sismember, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, slowlog, arginfo_key_or_address_variadic, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, smembers, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, smove, arginfo_smove, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sort, arginfo_sort, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, spop, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, srandmember, arginfo_srand_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, srem, arginfo_key_value, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sscan, arginfo_kscan_cl, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, strlen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, subscribe, arginfo_subscribe, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sunion, arginfo_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, sunionstore, arginfo_dst_nkeys, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, time, arginfo_key_or_address, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, ttl, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, type, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, unsubscribe, arginfo_unsubscribe, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, unlink, arginfo_del, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, unwatch, arginfo_void, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, watch, arginfo_watch, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xack, arginfo_xack, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xadd, arginfo_xadd, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xclaim, arginfo_xclaim, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xdel, arginfo_xdel, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xgroup, arginfo_xgroup, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xinfo, arginfo_xinfo, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xlen, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xpending, arginfo_xpending, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xrange, arginfo_xrange, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xread, arginfo_xread, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xreadgroup, arginfo_xreadgroup, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xrevrange, arginfo_xrange, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, xtrim, arginfo_xtrim, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zadd, arginfo_zadd, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zcard, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zcount, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zincrby, arginfo_zincrby, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zinterstore, arginfo_zstore, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zlexcount, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zpopmax, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zpopmin, arginfo_key, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrange, arginfo_zrange, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrangebylex, arginfo_zrangebylex, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrangebyscore, arginfo_zrangebyscore, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrank, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrem, arginfo_key_members, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zremrangebylex, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zremrangebyrank, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zremrangebyscore, arginfo_key_min_max, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrevrange, arginfo_zrange, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrevrangebylex, arginfo_zrangebylex, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrevrangebyscore, arginfo_zrangebyscore, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zrevrank, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zscan, arginfo_kscan_cl, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zscore, arginfo_key_member, ZEND_ACC_PUBLIC) - PHP_ME(RedisCluster, zunionstore, arginfo_zstore, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* Our context seeds will be a hash table with RedisSock* pointers */ static void ht_free_seed(zval *data) { RedisSock *redis_sock = *(RedisSock**)data; diff --git a/redis_cluster.h b/redis_cluster.h index 41f40c1a..d8e62e7f 100644 --- a/redis_cluster.h +++ b/redis_cluster.h @@ -91,213 +91,12 @@ } \ resp_func(INTERNAL_FUNCTION_PARAM_PASSTHRU, c, ctx); +extern const zend_function_entry *redis_cluster_get_methods(void); + /* Create cluster context */ zend_object *create_cluster_context(zend_class_entry *class_type); /* Free cluster context struct */ void free_cluster_context(zend_object *object); -/* RedisCluster method implementation */ -PHP_METHOD(RedisCluster, __construct); -PHP_METHOD(RedisCluster, acl); -PHP_METHOD(RedisCluster, close); -PHP_METHOD(RedisCluster, get); -PHP_METHOD(RedisCluster, set); -PHP_METHOD(RedisCluster, mget); -PHP_METHOD(RedisCluster, mset); -PHP_METHOD(RedisCluster, msetnx); -PHP_METHOD(RedisCluster, mset); -PHP_METHOD(RedisCluster, del); -PHP_METHOD(RedisCluster, unlink); -PHP_METHOD(RedisCluster, dump); -PHP_METHOD(RedisCluster, setex); -PHP_METHOD(RedisCluster, psetex); -PHP_METHOD(RedisCluster, setnx); -PHP_METHOD(RedisCluster, getset); -PHP_METHOD(RedisCluster, exists); -PHP_METHOD(RedisCluster, keys); -PHP_METHOD(RedisCluster, type); -PHP_METHOD(RedisCluster, persist); -PHP_METHOD(RedisCluster, lpop); -PHP_METHOD(RedisCluster, rpop); -PHP_METHOD(RedisCluster, spop); -PHP_METHOD(RedisCluster, rpush); -PHP_METHOD(RedisCluster, lpush); -PHP_METHOD(RedisCluster, blpop); -PHP_METHOD(RedisCluster, brpop); -PHP_METHOD(RedisCluster, rpushx); -PHP_METHOD(RedisCluster, lpushx); -PHP_METHOD(RedisCluster, linsert); -PHP_METHOD(RedisCluster, lindex); -PHP_METHOD(RedisCluster, lrem); -PHP_METHOD(RedisCluster, brpoplpush); -PHP_METHOD(RedisCluster, rpoplpush); -PHP_METHOD(RedisCluster, llen); -PHP_METHOD(RedisCluster, scard); -PHP_METHOD(RedisCluster, smembers); -PHP_METHOD(RedisCluster, sismember); -PHP_METHOD(RedisCluster, sadd); -PHP_METHOD(RedisCluster, saddarray); -PHP_METHOD(RedisCluster, srem); -PHP_METHOD(RedisCluster, sunion); -PHP_METHOD(RedisCluster, sunionstore); -PHP_METHOD(RedisCluster, sinter); -PHP_METHOD(RedisCluster, sinterstore); -PHP_METHOD(RedisCluster, sdiff); -PHP_METHOD(RedisCluster, sdiffstore); -PHP_METHOD(RedisCluster, strlen); -PHP_METHOD(RedisCluster, ttl); -PHP_METHOD(RedisCluster, pttl); -PHP_METHOD(RedisCluster, zcard); -PHP_METHOD(RedisCluster, zscore); -PHP_METHOD(RedisCluster, zcount); -PHP_METHOD(RedisCluster, zrem); -PHP_METHOD(RedisCluster, zremrangebyscore); -PHP_METHOD(RedisCluster, zrank); -PHP_METHOD(RedisCluster, zrevrank); -PHP_METHOD(RedisCluster, zadd); -PHP_METHOD(RedisCluster, zincrby); -PHP_METHOD(RedisCluster, hlen); -PHP_METHOD(RedisCluster, hget); -PHP_METHOD(RedisCluster, hkeys); -PHP_METHOD(RedisCluster, hvals); -PHP_METHOD(RedisCluster, hmget); -PHP_METHOD(RedisCluster, hmset); -PHP_METHOD(RedisCluster, hdel); -PHP_METHOD(RedisCluster, hgetall); -PHP_METHOD(RedisCluster, hexists); -PHP_METHOD(RedisCluster, hincrby); -PHP_METHOD(RedisCluster, hincrbyfloat); -PHP_METHOD(RedisCluster, hset); -PHP_METHOD(RedisCluster, hsetnx); -PHP_METHOD(RedisCluster, hstrlen); -PHP_METHOD(RedisCluster, incr); -PHP_METHOD(RedisCluster, decr); -PHP_METHOD(RedisCluster, incrby); -PHP_METHOD(RedisCluster, decrby); -PHP_METHOD(RedisCluster, incrbyfloat); -PHP_METHOD(RedisCluster, expire); -PHP_METHOD(RedisCluster, expireat); -PHP_METHOD(RedisCluster, pexpire); -PHP_METHOD(RedisCluster, pexpireat); -PHP_METHOD(RedisCluster, append); -PHP_METHOD(RedisCluster, getbit); -PHP_METHOD(RedisCluster, setbit); -PHP_METHOD(RedisCluster, bitop); -PHP_METHOD(RedisCluster, bitpos); -PHP_METHOD(RedisCluster, bitcount); -PHP_METHOD(RedisCluster, lget); -PHP_METHOD(RedisCluster, getrange); -PHP_METHOD(RedisCluster, ltrim); -PHP_METHOD(RedisCluster, lrange); -PHP_METHOD(RedisCluster, zremrangebyrank); -PHP_METHOD(RedisCluster, publish); -PHP_METHOD(RedisCluster, lset); -PHP_METHOD(RedisCluster, rename); -PHP_METHOD(RedisCluster, renamenx); -PHP_METHOD(RedisCluster, pfcount); -PHP_METHOD(RedisCluster, pfadd); -PHP_METHOD(RedisCluster, pfmerge); -PHP_METHOD(RedisCluster, restore); -PHP_METHOD(RedisCluster, setrange); -PHP_METHOD(RedisCluster, smove); -PHP_METHOD(RedisCluster, srandmember); -PHP_METHOD(RedisCluster, zpopmin); -PHP_METHOD(RedisCluster, zpopmax); -PHP_METHOD(RedisCluster, bzpopmax); -PHP_METHOD(RedisCluster, bzpopmin); -PHP_METHOD(RedisCluster, zrange); -PHP_METHOD(RedisCluster, zrevrange); -PHP_METHOD(RedisCluster, zrangebyscore); -PHP_METHOD(RedisCluster, zrevrangebyscore); -PHP_METHOD(RedisCluster, zrangebylex); -PHP_METHOD(RedisCluster, zrevrangebylex); -PHP_METHOD(RedisCluster, zlexcount); -PHP_METHOD(RedisCluster, zremrangebylex); -PHP_METHOD(RedisCluster, zunionstore); -PHP_METHOD(RedisCluster, zinterstore); -PHP_METHOD(RedisCluster, sort); -PHP_METHOD(RedisCluster, object); -PHP_METHOD(RedisCluster, subscribe); -PHP_METHOD(RedisCluster, psubscribe); -PHP_METHOD(RedisCluster, unsubscribe); -PHP_METHOD(RedisCluster, punsubscribe); -PHP_METHOD(RedisCluster, eval); -PHP_METHOD(RedisCluster, evalsha); -PHP_METHOD(RedisCluster, info); -PHP_METHOD(RedisCluster, cluster); -PHP_METHOD(RedisCluster, client); -PHP_METHOD(RedisCluster, config); -PHP_METHOD(RedisCluster, pubsub); -PHP_METHOD(RedisCluster, script); -PHP_METHOD(RedisCluster, slowlog); -PHP_METHOD(RedisCluster, command); -PHP_METHOD(RedisCluster, geoadd); -PHP_METHOD(RedisCluster, geohash); -PHP_METHOD(RedisCluster, geopos); -PHP_METHOD(RedisCluster, geodist); -PHP_METHOD(RedisCluster, georadius); -PHP_METHOD(RedisCluster, georadius_ro); -PHP_METHOD(RedisCluster, georadiusbymember); -PHP_METHOD(RedisCluster, georadiusbymember_ro); - -/* SCAN and friends */ -PHP_METHOD(RedisCluster, scan); -PHP_METHOD(RedisCluster, zscan); -PHP_METHOD(RedisCluster, hscan); -PHP_METHOD(RedisCluster, sscan); - -/* STREAMS */ -PHP_METHOD(RedisCluster, xack); -PHP_METHOD(RedisCluster, xadd); -PHP_METHOD(RedisCluster, xclaim); -PHP_METHOD(RedisCluster, xdel); -PHP_METHOD(RedisCluster, xgroup); -PHP_METHOD(RedisCluster, xinfo); -PHP_METHOD(RedisCluster, xlen); -PHP_METHOD(RedisCluster, xpending); -PHP_METHOD(RedisCluster, xrange); -PHP_METHOD(RedisCluster, xread); -PHP_METHOD(RedisCluster, xreadgroup); -PHP_METHOD(RedisCluster, xrevrange); -PHP_METHOD(RedisCluster, xtrim); - -/* Transactions */ -PHP_METHOD(RedisCluster, multi); -PHP_METHOD(RedisCluster, exec); -PHP_METHOD(RedisCluster, discard); -PHP_METHOD(RedisCluster, watch); -PHP_METHOD(RedisCluster, unwatch); - -/* Commands we direct to a node */ -PHP_METHOD(RedisCluster, save); -PHP_METHOD(RedisCluster, bgsave); -PHP_METHOD(RedisCluster, flushdb); -PHP_METHOD(RedisCluster, flushall); -PHP_METHOD(RedisCluster, dbsize); -PHP_METHOD(RedisCluster, bgrewriteaof); -PHP_METHOD(RedisCluster, lastsave); -PHP_METHOD(RedisCluster, role); -PHP_METHOD(RedisCluster, time); -PHP_METHOD(RedisCluster, randomkey); -PHP_METHOD(RedisCluster, ping); -PHP_METHOD(RedisCluster, echo); -PHP_METHOD(RedisCluster, rawcommand); - -/* Introspection */ -PHP_METHOD(RedisCluster, getmode); -PHP_METHOD(RedisCluster, getlasterror); -PHP_METHOD(RedisCluster, clearlasterror); -PHP_METHOD(RedisCluster, getoption); -PHP_METHOD(RedisCluster, setoption); -PHP_METHOD(RedisCluster, _prefix); -PHP_METHOD(RedisCluster, _serialize); -PHP_METHOD(RedisCluster, _unserialize); -PHP_METHOD(RedisCluster, _compress); -PHP_METHOD(RedisCluster, _uncompress); -PHP_METHOD(RedisCluster, _pack); -PHP_METHOD(RedisCluster, _unpack); -PHP_METHOD(RedisCluster, _masters); -PHP_METHOD(RedisCluster, _redir); - #endif diff --git a/redis_cluster.stub.php b/redis_cluster.stub.php new file mode 100644 index 00000000..f2c76bc0 --- /dev/null +++ b/redis_cluster.stub.php @@ -0,0 +1,211 @@ +<?php + +/** + * @generate-function-entries + * @generate-legacy-arginfo + */ + +class RedisCluster { + + public function __construct(string|null $name, array $seeds = NULL, int|float $timeout = 0, int|float $read_timeout = 0, bool $persistant = false, mixed $auth = NULL, array $context = NULL); + + public function _masters(): array; + + public function _prefix(string $key): bool|string; + + public function _redir(): string|null; + + public function _serialize(mixed $value): bool|string; + + public function _unserialize(string $value): mixed; + + public function acl(string|array $key_or_address, string $subcmd, string ...$args): mixed; + + public function append(string $key, mixed $value): bool|int; + + public function bgrewriteaof(string|array $key_or_address): bool; + + public function bgsave(string|array $key_or_address): bool; + + public function bitcount(string $key, int $start = 0, int $end = -1): bool|int; + + public function bitop(string $operation, string $deskey, string $srckey, string ...$otherkeys): bool|int; + + public function bitpos(string $key, int $bit, int $start = NULL, int $end = NULL): bool|int; +} + +/* + TODO: + public function brpop + public function brpoplpush + public function clearlasterror + public function bzpopmax + public function bzpopmin + public function client + public function close + public function cluster + public function command + public function config + public function dbsize + public function decr + public function decrby + public function del + public function discard + public function dump + public function echo + public function eval + public function evalsha + public function exec + public function exists + public function expire + public function expireat + public function flushall + public function flushdb + public function geoadd + public function geodist + public function geohash + public function geopos + public function georadius + public function georadius_ro + public function georadiusbymember + public function georadiusbymember_ro + public function get + public function getbit + public function getlasterror + public function getmode + public function getoption + public function getrange + public function getset + public function hdel + public function hexists + public function hget + public function hgetall + public function hincrby + public function hincrbyfloat + public function hkeys + public function hlen + public function hmget + public function hmset + public function hscan + public function hset + public function hsetnx + public function hstrlen + public function hvals + public function incr + public function incrby + public function incrbyfloat + public function info + public function keys + public function lastsave + public function lget + public function lindex + public function linsert + public function llen + public function lpop + public function lpush + public function lpushx + public function lrange + public function lrem + public function lset + public function ltrim + public function mget + public function mset + public function msetnx + public function multi + public function object + public function persist + public function pexpire + public function pexpireat + public function pfadd + public function pfcount + public function pfmerge + public function ping + public function psetex + public function psubscribe + public function pttl + public function publish + public function pubsub + public function punsubscribe + public function randomkey + public function rawcommand + public function rename + public function renamenx + public function restore + public function role + public function rpop + public function rpoplpush + public function rpush + public function rpushx + public function sadd + public function saddarray + public function save + public function scan + public function scard + public function script + public function sdiff + public function sdiffstore + public function set + public function setbit + public function setex + public function setnx + public function setoption + public function setrange + public function sinter + public function sinterstore + public function sismember + public function slowlog + public function smembers + public function smove + public function sort + public function spop + public function srandmember + public function srem + public function sscan + public function strlen + public function subscribe + public function sunion + public function sunionstore + public function time + public function ttl + public function type + public function unsubscribe + public function unlink + public function unwatch + public function watch + public function xack + public function xadd + public function xclaim + public function xdel + public function xgroup + public function xinfo + public function xlen + public function xpending + public function xrange + public function xread + public function xreadgroup + public function xrevrange + public function xtrim + public function zadd + public function zcard + public function zcount + public function zincrby + public function zinterstore + public function zlexcount + public function zpopmax + public function zpopmin + public function zrange + public function zrangebylex + public function zrangebyscore + public function zrank + public function zrem + public function zremrangebylex + public function zremrangebyrank + public function zremrangebyscore + public function zrevrange + public function zrevrangebylex + public function zrevrangebyscore + public function zrevrank + public function zscan + public function zscore + public function zunionstore +*/ diff --git a/redis_cluster_arginfo.h b/redis_cluster_arginfo.h new file mode 100644 index 00000000..97acaf53 --- /dev/null +++ b/redis_cluster_arginfo.h @@ -0,0 +1,100 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: e75f14ee54edbf3d7460402a4f445aa57b6c1d1d */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, seeds, IS_ARRAY, 0, "NULL") + ZEND_ARG_TYPE_MASK(0, timeout, MAY_BE_LONG|MAY_BE_DOUBLE, "0") + ZEND_ARG_TYPE_MASK(0, read_timeout, MAY_BE_LONG|MAY_BE_DOUBLE, "0") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, persistant, _IS_BOOL, 0, "false") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, auth, IS_MIXED, 0, "NULL") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, context, IS_ARRAY, 0, "NULL") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster__masters, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster__prefix, 0, 1, MAY_BE_BOOL|MAY_BE_STRING) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster__redir, 0, 0, IS_STRING, 1) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster__serialize, 0, 1, MAY_BE_BOOL|MAY_BE_STRING) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster__unserialize, 0, 1, IS_MIXED, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_acl, 0, 2, IS_MIXED, 0) + ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) + ZEND_ARG_TYPE_INFO(0, subcmd, IS_STRING, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_append, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_RedisCluster_bgrewriteaof, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_MASK(0, key_or_address, MAY_BE_STRING|MAY_BE_ARRAY, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisCluster_bgsave arginfo_class_RedisCluster_bgrewriteaof + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitcount, 0, 1, MAY_BE_BOOL|MAY_BE_LONG) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_LONG, 0, "0") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, IS_LONG, 0, "-1") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitop, 0, 3, MAY_BE_BOOL|MAY_BE_LONG) + ZEND_ARG_TYPE_INFO(0, operation, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, deskey, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, srckey, IS_STRING, 0) + ZEND_ARG_VARIADIC_TYPE_INFO(0, otherkeys, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_RedisCluster_bitpos, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) + ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, bit, IS_LONG, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, start, IS_LONG, 0, "NULL") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, end, IS_LONG, 0, "NULL") +ZEND_END_ARG_INFO() + + +ZEND_METHOD(RedisCluster, __construct); +ZEND_METHOD(RedisCluster, _masters); +ZEND_METHOD(RedisCluster, _prefix); +ZEND_METHOD(RedisCluster, _redir); +ZEND_METHOD(RedisCluster, _serialize); +ZEND_METHOD(RedisCluster, _unserialize); +ZEND_METHOD(RedisCluster, acl); +ZEND_METHOD(RedisCluster, append); +ZEND_METHOD(RedisCluster, bgrewriteaof); +ZEND_METHOD(RedisCluster, bgsave); +ZEND_METHOD(RedisCluster, bitcount); +ZEND_METHOD(RedisCluster, bitop); +ZEND_METHOD(RedisCluster, bitpos); + + +static const zend_function_entry class_RedisCluster_methods[] = { + ZEND_ME(RedisCluster, __construct, arginfo_class_RedisCluster___construct, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _masters, arginfo_class_RedisCluster__masters, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _prefix, arginfo_class_RedisCluster__prefix, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _redir, arginfo_class_RedisCluster__redir, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _serialize, arginfo_class_RedisCluster__serialize, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _unserialize, arginfo_class_RedisCluster__unserialize, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, acl, arginfo_class_RedisCluster_acl, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, append, arginfo_class_RedisCluster_append, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bgrewriteaof, arginfo_class_RedisCluster_bgrewriteaof, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bgsave, arginfo_class_RedisCluster_bgsave, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitcount, arginfo_class_RedisCluster_bitcount, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitop, arginfo_class_RedisCluster_bitop, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitpos, arginfo_class_RedisCluster_bitpos, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; diff --git a/redis_cluster_legacy_arginfo.h b/redis_cluster_legacy_arginfo.h new file mode 100644 index 00000000..d4f153f2 --- /dev/null +++ b/redis_cluster_legacy_arginfo.h @@ -0,0 +1,97 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: e75f14ee54edbf3d7460402a4f445aa57b6c1d1d */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster___construct, 0, 0, 1) + ZEND_ARG_INFO(0, name) + ZEND_ARG_INFO(0, seeds) + ZEND_ARG_INFO(0, timeout) + ZEND_ARG_INFO(0, read_timeout) + ZEND_ARG_INFO(0, persistant) + ZEND_ARG_INFO(0, auth) + ZEND_ARG_INFO(0, context) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster__masters, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster__prefix, 0, 0, 1) + ZEND_ARG_INFO(0, key) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisCluster__redir arginfo_class_RedisCluster__masters + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster__serialize, 0, 0, 1) + ZEND_ARG_INFO(0, value) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisCluster__unserialize arginfo_class_RedisCluster__serialize + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_acl, 0, 0, 2) + ZEND_ARG_INFO(0, key_or_address) + ZEND_ARG_INFO(0, subcmd) + ZEND_ARG_VARIADIC_INFO(0, args) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_append, 0, 0, 2) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, value) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bgrewriteaof, 0, 0, 1) + ZEND_ARG_INFO(0, key_or_address) +ZEND_END_ARG_INFO() + +#define arginfo_class_RedisCluster_bgsave arginfo_class_RedisCluster_bgrewriteaof + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bitcount, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, start) + ZEND_ARG_INFO(0, end) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bitop, 0, 0, 3) + ZEND_ARG_INFO(0, operation) + ZEND_ARG_INFO(0, deskey) + ZEND_ARG_INFO(0, srckey) + ZEND_ARG_VARIADIC_INFO(0, otherkeys) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisCluster_bitpos, 0, 0, 2) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, bit) + ZEND_ARG_INFO(0, start) + ZEND_ARG_INFO(0, end) +ZEND_END_ARG_INFO() + + +ZEND_METHOD(RedisCluster, __construct); +ZEND_METHOD(RedisCluster, _masters); +ZEND_METHOD(RedisCluster, _prefix); +ZEND_METHOD(RedisCluster, _redir); +ZEND_METHOD(RedisCluster, _serialize); +ZEND_METHOD(RedisCluster, _unserialize); +ZEND_METHOD(RedisCluster, acl); +ZEND_METHOD(RedisCluster, append); +ZEND_METHOD(RedisCluster, bgrewriteaof); +ZEND_METHOD(RedisCluster, bgsave); +ZEND_METHOD(RedisCluster, bitcount); +ZEND_METHOD(RedisCluster, bitop); +ZEND_METHOD(RedisCluster, bitpos); + + +static const zend_function_entry class_RedisCluster_methods[] = { + ZEND_ME(RedisCluster, __construct, arginfo_class_RedisCluster___construct, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _masters, arginfo_class_RedisCluster__masters, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _prefix, arginfo_class_RedisCluster__prefix, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _redir, arginfo_class_RedisCluster__redir, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _serialize, arginfo_class_RedisCluster__serialize, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, _unserialize, arginfo_class_RedisCluster__unserialize, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, acl, arginfo_class_RedisCluster_acl, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, append, arginfo_class_RedisCluster_append, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bgrewriteaof, arginfo_class_RedisCluster_bgrewriteaof, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bgsave, arginfo_class_RedisCluster_bgsave, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitcount, arginfo_class_RedisCluster_bitcount, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitop, arginfo_class_RedisCluster_bitop, ZEND_ACC_PUBLIC) + ZEND_ME(RedisCluster, bitpos, arginfo_class_RedisCluster_bitpos, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; |