• Meir Shpilraien (Spielrein)'s avatar
    Add Module API for version and compatibility checks (#7865) · adc3183c
    Meir Shpilraien (Spielrein) authored
    
    
    * Introduce a new API's: RM_GetContextFlagsAll, and
    RM_GetKeyspaceNotificationFlagsAll that will return the
    full flags mask of each feature. The module writer can
    check base on this value if the Flags he needs are
    supported or not.
    
    * For each flag, introduce a new value on redismodule.h,
    this value represents the LAST value and should be there
    as a reminder to update it when a new value is added,
    also it will be used in the code to calculate the full
    flags mask (assuming flags are incrementally increasing).
    In addition, stated that the module writer should not use
    the LAST flag directly and he should use the GetFlagAll API's.
    
    * Introduce a new API: RM_IsSubEventSupported, that returns for a given
    event and subevent, whether or not the subevent supported.
    
    * Introduce a new macro RMAPI_FUNC_SUPPORTED(func) that returns whether
    or not a function API is supported by comparing it to NULL.
    
    * Introduce a new API: int RM_GetServerVersion();, that will return the
    current Redis version in the format 0x00MMmmpp; e.g. 0x00060008;
    
    * Changed unstable version from 999.999.999 to 255.255.255
    Co-authored-by: default avatarOran Agra <oran@redislabs.com>
    Co-authored-by: default avatarYossi Gottlieb <yossigo@gmail.com>
    adc3183c
hooks.c 12.3 KB