1. 20 Jul, 2020 2 commits
    • Michael Grunder's avatar
    • Michael Grunder's avatar
      Resp3 oob push support (#841) · 2e7d7cba
      Michael Grunder authored
      Proper support for RESP3 PUSH messages.
      
      By default, PUSH messages are now intercepted and the reply memory freed.  
      This means existing code should work unchanged when connecting to Redis
      >= 6.0.0 even if `CLIENT TRACKING` were then enabled.
      
      Additionally, we define two callbacks users can configure if they wish to handle
      these messages in a custom way:
      
      void redisPushFn(void *privdata, void *reply);
      void redisAsyncPushFn(redisAsyncContext *ac, void *reply);
      
      See #825
      2e7d7cba
  2. 10 Jul, 2020 1 commit
  3. 09 Jul, 2020 2 commits
  4. 22 Jun, 2020 1 commit
  5. 19 Jun, 2020 1 commit
  6. 07 Jun, 2020 1 commit
  7. 01 Jun, 2020 1 commit
  8. 30 May, 2020 3 commits
  9. 26 May, 2020 1 commit
  10. 25 May, 2020 1 commit
  11. 24 May, 2020 1 commit
  12. 22 May, 2020 1 commit
    • Michael Grunder's avatar
      Allow users to replace allocator and handle OOM everywhere. (#800) · 8e0264cf
      Michael Grunder authored
      * Adds an indirection to every allocation/deallocation to allow users to 
        plug in ones of their choosing (use custom functions, jemalloc, etc).
      
      * Gracefully handle OOM everywhere in hiredis.  This should make it possible
        for users of the library to have more flexibility in how they handle such situations.
      
      * Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent
        a possible overflow when transferring the task elements into a `redisReply`.
      
      * Adds a configurable `max elements` member to `redisReader` that defaults to
        2^32 - 1.  This can be set to "unlimited" by setting the value to zero.
      8e0264cf
  13. 21 May, 2020 1 commit
  14. 20 May, 2020 1 commit
  15. 19 May, 2020 2 commits
  16. 16 May, 2020 1 commit
  17. 04 May, 2020 2 commits
  18. 23 Apr, 2020 2 commits
  19. 13 Apr, 2020 1 commit
  20. 10 Apr, 2020 1 commit
  21. 09 Apr, 2020 2 commits
  22. 07 Apr, 2020 2 commits
  23. 03 Apr, 2020 1 commit
    • Michael Grunder's avatar
      Win32 tests and timeout fix (#776) · cc9d0329
      Michael Grunder authored
      Unit tests in Windows and a Windows timeout fix
      
      This commit gets our unit tests compiling and running on Windows as well as removes a duplicated `timeval` -> `DWORD` conversion logic in sockcompat.c 
      
      There are minor differences in behavior between Linux and Windows to note:
      
      1.  In Windows, opening a non-existent hangs forever in WSAPoll whereas
          it correctly returns with a "Connection refused" error on Linux.
          For that reason, I simply skip this test in Windows.
      
          It may be related to this known issue:
          https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/
      
      2.  Timeouts are handled slightly differently in Windows and Linux.  
          In Linux, we intentionally set REDIS_ERR_IO for connection
          timeouts whereas in Windows we set REDIS_ERR_TIMEOUT.  It may be
          prudent to fix this discrepancy although there are almost certainly
          users relying on the current behavior.
      cc9d0329
  24. 02 Apr, 2020 1 commit
  25. 14 Mar, 2020 1 commit
  26. 13 Mar, 2020 1 commit
  27. 28 Feb, 2020 2 commits
    • michael-grunder's avatar
      Bump version to 0.15.0 · 139f966c
      michael-grunder authored
      139f966c
    • Michael Grunder's avatar
      Housekeeping fixes (#764) · 38675d23
      Michael Grunder authored
      Housekeeping
      
      * Check for C++ (#758, #750) 
      * Include `alloc.h` in `make install` and `cmake`
      * Add a `.def` file for Windows (#760)
      * Include allocation wrappers referenced in adapter headers
      * Fix minor syntax errors and typos in README
      * Fix CI in Windows by properly escaping arguments (#761)
      38675d23
  28. 29 Jan, 2020 2 commits
  29. 28 Jan, 2020 1 commit