From d3cf4f53916adbeeaba1bf25d2e40249bbf7ca51 Mon Sep 17 00:00:00 2001 From: zhengchao Date: Thu, 29 Jun 2017 09:42:36 +0800 Subject: [PATCH] =?UTF-8?q?MAAT=E5=87=86=E5=A4=87=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BB=8EREDIS=E6=8E=A5=E5=85=A5=E9=85=8D=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/Maat_redis.cpp | 43 ++++++++ src/entry/libmaatframe.so | Bin 0 -> 377766 bytes src/inc_internal/hiredis.h | 221 +++++++++++++++++++++++++++++++++++++ src/inc_internal/read.h | 129 ++++++++++++++++++++++ 4 files changed, 393 insertions(+) create mode 100644 src/entry/Maat_redis.cpp create mode 100644 src/entry/libmaatframe.so create mode 100644 src/inc_internal/hiredis.h create mode 100644 src/inc_internal/read.h diff --git a/src/entry/Maat_redis.cpp b/src/entry/Maat_redis.cpp new file mode 100644 index 0000000..2b0d08c --- /dev/null +++ b/src/entry/Maat_redis.cpp @@ -0,0 +1,43 @@ +#include "hiredis.h" +#include + +const char* maat_redis_monitor="MAAT_REDIS_MONITOR"; +void redis_monitor_traverse(unsigned int version,redisContext *c, + void (*start)(unsigned int ,int ,void*),//vesion,CM_UPDATE_TYPE_*,u_para + void (*update)(const char* ,const char*,void* ),//table name ,line ,u_para + void (*finish)(void*),//u_para + void* u_para, + const unsigned char* dec_key, + void* logger) +{ + redisReply* ctrl_reply=NULL; + char err_buff[256]; + long long redis_maat_version=0; + ctrl_reply=(redisReply*)redisCommand(c, "GET MAAT_VERSION"); + if(ctrl_reply==NULL) + { + __redis_strerror_r(errno,err_buff,sizeof(err_buff)); + MESA_handle_runtime_log(logger, RLOG_LV_FATAL, maat_redis_monitor, + "GET MAAT_VERSION failed %s.",err_buff); + return; + } + assert(ctrl_reply->type==REDIS_REPLY_INTEGER); + assert(ctrl_reply->integer>=version); + if(ctrl_reply->integer==version) + { + freeReplyObject(ctrl_reply); + return; + } + redis_maat_version=ctrl_reply->integer; + freeReplyObject(ctrl_reply); + ctrl_reply=(redisReply*)redisCommand(c, "GET MAAT_UPDATE_STATUS"); + if(ctrl_reply==NULL) + { + __redis_strerror_r(errno,err_buff,sizeof(err_buff)); + MESA_handle_runtime_log(logger, RLOG_LV_FATAL, maat_redis_monitor, + "GET MAAT_UPDATE_STATUS failed %s.",err_buff); + return; + } + assert(ctrl_reply->type==REDIS_REPLY_ARRAY); +} + diff --git a/src/entry/libmaatframe.so b/src/entry/libmaatframe.so new file mode 100644 index 0000000000000000000000000000000000000000..a9c9538f7f2e14ad5355978abab7f0f1bbf04be1 GIT binary patch literal 377766 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%0Dff{B7JP%Yl1TsD>X&C2D#gc(WrJN1}c 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 + * Copyright (c) 2010-2014, Pieter Noordhuis + * Copyright (c) 2015, Matt Stancliff , + * Jan-Erik Rediger + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Redis nor the names of its contributors may be used + * to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __HIREDIS_H +#define __HIREDIS_H +#include "read.h" +#include /* for va_list */ +#include /* for struct timeval */ +#include /* uintXX_t, etc */ +#include "sds.h" /* for sds */ + +#define HIREDIS_MAJOR 0 +#define HIREDIS_MINOR 13 +#define HIREDIS_PATCH 1 + +/* Connection type can be blocking or non-blocking and is set in the + * least significant bit of the flags field in redisContext. */ +#define REDIS_BLOCK 0x1 + +/* Connection may be disconnected before being free'd. The second bit + * in the flags field is set when the context is connected. */ +#define REDIS_CONNECTED 0x2 + +/* The async API might try to disconnect cleanly and flush the output + * buffer and read all subsequent replies before disconnecting. + * This flag means no new commands can come in and the connection + * should be terminated once all replies have been read. */ +#define REDIS_DISCONNECTING 0x4 + +/* Flag specific to the async API which means that the context should be clean + * up as soon as possible. */ +#define REDIS_FREEING 0x8 + +/* Flag that is set when an async callback is executed. */ +#define REDIS_IN_CALLBACK 0x10 + +/* Flag that is set when the async context has one or more subscriptions. */ +#define REDIS_SUBSCRIBED 0x20 + +/* Flag that is set when monitor mode is active */ +#define REDIS_MONITORING 0x40 + +/* Flag that is set when we should set SO_REUSEADDR before calling bind() */ +#define REDIS_REUSEADDR 0x80 + +#define REDIS_KEEPALIVE_INTERVAL 15 /* seconds */ + +/* number of times we retry to connect in the case of EADDRNOTAVAIL and + * SO_REUSEADDR is being used. */ +#define REDIS_CONNECT_RETRIES 10 + +/* strerror_r has two completely different prototypes and behaviors + * depending on system issues, so we need to operate on the error buffer + * differently depending on which strerror_r we're using. */ +#ifndef _GNU_SOURCE +/* "regular" POSIX strerror_r that does the right thing. */ +#define __redis_strerror_r(errno, buf, len) \ + do { \ + strerror_r((errno), (buf), (len)); \ + } while (0) +#else +/* "bad" GNU strerror_r we need to clean up after. */ +#define __redis_strerror_r(errno, buf, len) \ + do { \ + char *err_str = strerror_r((errno), (buf), (len)); \ + /* If return value _isn't_ the start of the buffer we passed in, \ + * then GNU strerror_r returned an internal static buffer and we \ + * need to copy the result into our private buffer. */ \ + if (err_str != (buf)) { \ + buf[(len)] = '\0'; \ + strncat((buf), err_str, ((len) - 1)); \ + } \ + } while (0) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* This is the reply object returned by redisCommand() */ +typedef struct redisReply { + int type; /* REDIS_REPLY_* */ + long long integer; /* The integer when type is REDIS_REPLY_INTEGER */ + int len; /* Length of string */ + char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */ + size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */ + struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */ +} redisReply; + +redisReader *redisReaderCreate(void); + +/* Function to free the reply objects hiredis returns by default. */ +void freeReplyObject(void *reply); + +/* Functions to format a command according to the protocol. */ +int redisvFormatCommand(char **target, const char *format, va_list ap); +int redisFormatCommand(char **target, const char *format, ...); +int redisFormatCommandArgv(char **target, int argc, const char **argv, const size_t *argvlen); +int redisFormatSdsCommandArgv(sds *target, int argc, const char ** argv, const size_t *argvlen); +void redisFreeCommand(char *cmd); +void redisFreeSdsCommand(sds cmd); + +enum redisConnectionType { + REDIS_CONN_TCP, + REDIS_CONN_UNIX, +}; + +/* Context for a connection to Redis */ +typedef struct redisContext { + int err; /* Error flags, 0 when there is no error */ + char errstr[128]; /* String representation of error when applicable */ + int fd; + int flags; + char *obuf; /* Write buffer */ + redisReader *reader; /* Protocol reader */ + + enum redisConnectionType connection_type; + struct timeval *timeout; + + struct { + char *host; + char *source_addr; + int port; + } tcp; + + struct { + char *path; + } unix_sock; +} redisContext; + +redisContext *redisConnect(const char *ip, int port); +redisContext *redisConnectWithTimeout(const char *ip, int port, const struct timeval tv); +redisContext *redisConnectNonBlock(const char *ip, int port); +redisContext *redisConnectBindNonBlock(const char *ip, int port, + const char *source_addr); +redisContext *redisConnectBindNonBlockWithReuse(const char *ip, int port, + const char *source_addr); +redisContext *redisConnectUnix(const char *path); +redisContext *redisConnectUnixWithTimeout(const char *path, const struct timeval tv); +redisContext *redisConnectUnixNonBlock(const char *path); +redisContext *redisConnectFd(int fd); + +/** + * Reconnect the given context using the saved information. + * + * This re-uses the exact same connect options as in the initial connection. + * host, ip (or path), timeout and bind address are reused, + * flags are used unmodified from the existing context. + * + * Returns REDIS_OK on successfull connect or REDIS_ERR otherwise. + */ +int redisReconnect(redisContext *c); + +int redisSetTimeout(redisContext *c, const struct timeval tv); +int redisEnableKeepAlive(redisContext *c); +void redisFree(redisContext *c); +int redisFreeKeepFd(redisContext *c); +int redisBufferRead(redisContext *c); +int redisBufferWrite(redisContext *c, int *done); + +/* In a blocking context, this function first checks if there are unconsumed + * replies to return and returns one if so. Otherwise, it flushes the output + * buffer to the socket and reads until it has a reply. In a non-blocking + * context, it will return unconsumed replies until there are no more. */ +int redisGetReply(redisContext *c, void **reply); +int redisGetReplyFromReader(redisContext *c, void **reply); + +/* Write a formatted command to the output buffer. Use these functions in blocking mode + * to get a pipeline of commands. */ +int redisAppendFormattedCommand(redisContext *c, const char *cmd, size_t len); + +/* Write a command to the output buffer. Use these functions in blocking mode + * to get a pipeline of commands. */ +int redisvAppendCommand(redisContext *c, const char *format, va_list ap); +int redisAppendCommand(redisContext *c, const char *format, ...); +int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); + +/* Issue a command to Redis. In a blocking context, it is identical to calling + * redisAppendCommand, followed by redisGetReply. The function will return + * NULL if there was an error in performing the request, otherwise it will + * return the reply. In a non-blocking context, it is identical to calling + * only redisAppendCommand and will always return NULL. */ +void *redisvCommand(redisContext *c, const char *format, va_list ap); +void *redisCommand(redisContext *c, const char *format, ...); +void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/inc_internal/read.h b/src/inc_internal/read.h new file mode 100644 index 0000000..088c979 --- /dev/null +++ b/src/inc_internal/read.h @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2009-2011, Salvatore Sanfilippo + * Copyright (c) 2010-2011, Pieter Noordhuis + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Redis nor the names of its contributors may be used + * to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + +#ifndef __HIREDIS_READ_H +#define __HIREDIS_READ_H +#include /* for size_t */ + +#define REDIS_ERR -1 +#define REDIS_OK 0 + +/* When an error occurs, the err flag in a context is set to hold the type of + * error that occured. REDIS_ERR_IO means there was an I/O error and you + * should use the "errno" variable to find out what is wrong. + * For other values, the "errstr" field will hold a description. */ +#define REDIS_ERR_IO 1 /* Error in read or write */ +#define REDIS_ERR_EOF 3 /* End of file */ +#define REDIS_ERR_PROTOCOL 4 /* Protocol error */ +#define REDIS_ERR_OOM 5 /* Out of memory */ +#define REDIS_ERR_OTHER 2 /* Everything else... */ +#if 1 //shenzheng 2015-8-10 redis cluster +#define REDIS_ERR_CLUSTER_TOO_MANY_REDIRECT 6 +#endif //shenzheng 2015-8-10 redis cluster + +#define REDIS_REPLY_STRING 1 +#define REDIS_REPLY_ARRAY 2 +#define REDIS_REPLY_INTEGER 3 +#define REDIS_REPLY_NIL 4 +#define REDIS_REPLY_STATUS 5 +#define REDIS_REPLY_ERROR 6 + +#define REDIS_READER_MAX_BUF (1024*16) /* Default max unused reader buffer. */ + +#if 1 //shenzheng 2015-8-22 redis cluster +#define REDIS_ERROR_MOVED "MOVED" +#define REDIS_ERROR_ASK "ASK" +#define REDIS_ERROR_TRYAGAIN "TRYAGAIN" +#define REDIS_ERROR_CROSSSLOT "CROSSSLOT" +#define REDIS_ERROR_CLUSTERDOWN "CLUSTERDOWN" + +#define REDIS_STATUS_OK "OK" +#endif //shenzheng 2015-9-24 redis cluster + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct redisReadTask { + int type; + int elements; /* number of elements in multibulk container */ + int idx; /* index in parent (array) object */ + void *obj; /* holds user-generated value for a read task */ + struct redisReadTask *parent; /* parent task */ + void *privdata; /* user-settable arbitrary field */ +} redisReadTask; + +typedef struct redisReplyObjectFunctions { + void *(*createString)(const redisReadTask*, char*, size_t); + void *(*createArray)(const redisReadTask*, int); + void *(*createInteger)(const redisReadTask*, long long); + void *(*createNil)(const redisReadTask*); + void (*freeObject)(void*); +} redisReplyObjectFunctions; + +typedef struct redisReader { + int err; /* Error flags, 0 when there is no error */ + char errstr[128]; /* String representation of error when applicable */ + + char *buf; /* Read buffer */ + size_t pos; /* Buffer cursor */ + size_t len; /* Buffer length */ + size_t maxbuf; /* Max length of unused buffer */ + + redisReadTask rstack[9]; + int ridx; /* Index of current read task */ + void *reply; /* Temporary reply pointer */ + + redisReplyObjectFunctions *fn; + void *privdata; +} redisReader; + +/* Public API for the protocol parser. */ +redisReader *redisReaderCreateWithFunctions(redisReplyObjectFunctions *fn); +void redisReaderFree(redisReader *r); +int redisReaderFeed(redisReader *r, const char *buf, size_t len); +int redisReaderGetReply(redisReader *r, void **reply); + +/* Backwards compatibility, can be removed on big version bump. */ +#define redisReplyReaderCreate redisReaderCreate +#define redisReplyReaderFree redisReaderFree +#define redisReplyReaderFeed redisReaderFeed +#define redisReplyReaderGetReply redisReaderGetReply +#define redisReplyReaderSetPrivdata(_r, _p) (int)(((redisReader*)(_r))->privdata = (_p)) +#define redisReplyReaderGetObject(_r) (((redisReader*)(_r))->reply) +#define redisReplyReaderGetError(_r) (((redisReader*)(_r))->errstr) + +#ifdef __cplusplus +} +#endif + +#endif