• Meir Shpilraien (Spielrein)'s avatar
    Unified Lua and modules reply parsing and added RESP3 support to RM_Call (#9202) · 2237131e
    Meir Shpilraien (Spielrein) authored
    ## Current state
    1. Lua has its own parser that handles parsing `reds.call` replies and translates them
      to Lua objects that can be used by the user Lua code. The parser partially handles
      resp3 (missing big number, verbatim, attribute, ...)
    2. Modules have their own parser that handles parsing `RM_Call` replies and translates
      them to RedisModuleCallReply objects. The parser does not support resp3.
    
    In addition, in the future, we want to add Redis Function (#8693) that will probably
    support more languages. At some point maintaining so many parsers will stop
    scaling (bug fixes and protocol changes will need to be applied on all of them).
    We will probably end up with different parsers that support different parts of the
    resp protocol (like we already have today with Lua and modules)
    
    ## PR Changes
    This PR attempt to unified the reply parsing of Lua and modules (and in the future
    Redis Function) by introducing...
    2237131e
server.h 130 KB