1. 08 Jul, 2022 1 commit
  2. 03 Feb, 2022 1 commit
    • Björn Svensson's avatar
      Handle any pipelined unsubscribe in async · 7123b87f
      Björn Svensson authored
      Redis responds to an unsubscribe with one or many replies, depending
      on the current subscribe state. When channels/patterns names are
      provided in a command each given name will trigger a reply even if
      duplicated or not subscribed to.
      To know when we can return from the subscribed state we need to do
      bookkeeping on pending additional unsubscribe replies, and make sure
      we receive them all before switching state.
      7123b87f
  3. 16 Dec, 2021 1 commit
    • Bjorn Svensson's avatar
      Support PING while subscribing (RESP2) (#1027) · d3384260
      Bjorn Svensson authored
      * Handle PING during pubsub in RESP2
      
      * Rename invalid callback list
      
      Some commands are valid to send during a subscribe in RESP2, and
      most in RESP3. Renaming the callback list from `invalid` to `replies`
      to detail this fact.
      
      * Fix review comment
      d3384260
  4. 20 Jul, 2020 1 commit
    • 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
  5. 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
  6. 10 Apr, 2020 1 commit
  7. 29 Aug, 2019 1 commit
  8. 20 Feb, 2019 2 commits
  9. 26 Sep, 2018 1 commit
  10. 29 Sep, 2016 1 commit
  11. 05 Jan, 2015 2 commits
    • mike's avatar
      Add support for SO_REUSEADDR · 7c4d2557
      mike authored
      [This introduces some new API functions.]
      
      * Adds new flag to the connection context indicating SO_REUSEADDR
        should be set.
      * Adds max number of retries constant for when connect() hits
        EADDRNOTAVAIL.
      * Adds new function, redisAsyncConnectBindWithReuse(), letting
        clients enable this functionality.
      
      [Removed trailing whitespace in new header lines.]
      
      Closes #264
      7c4d2557
    • Hang Su's avatar
      Use stricter function argument types · 3315c098
      Hang Su authored
      'const' where we can.
      
      Closes #268
      3315c098
  12. 10 Apr, 2014 1 commit
  13. 08 Apr, 2014 1 commit
  14. 27 Jun, 2011 1 commit
    • Pieter Noordhuis's avatar
      Change prototype of connect callback · 3313bcd1
      Pieter Noordhuis authored
      This commit adds a status argument to the connect callback. It will be
      called in the event of an unsuccessful connection as well, where the
      status argument is set to REDIS_ERR. It is set to REDIS_OK otherwise.
      3313bcd1
  15. 21 Apr, 2011 2 commits
  16. 14 Jan, 2011 1 commit
  17. 31 Dec, 2010 1 commit
  18. 29 Dec, 2010 2 commits
  19. 28 Dec, 2010 1 commit
  20. 22 Dec, 2010 1 commit
  21. 07 Dec, 2010 1 commit
  22. 01 Dec, 2010 1 commit
  23. 22 Nov, 2010 1 commit
  24. 15 Nov, 2010 1 commit
  25. 02 Nov, 2010 1 commit
    • Pieter Noordhuis's avatar
      Change error reporting to have an explicit type · ffa8666a
      Pieter Noordhuis authored
      When there is an I/O error, errno should be used to find out what is
      wrong. In other cases, errno cannot be used. So, use an explicit type in
      Hiredis to define the different error scenarios that can occur.
      ffa8666a
  26. 01 Nov, 2010 3 commits
  27. 31 Oct, 2010 1 commit