1. 12 Jul, 2023 1 commit
  2. 29 May, 2023 1 commit
    • Viktor Söderqvist's avatar
      Helper for setting TCP_USER_TIMEOUT socket option (#1188) · b6a052fe
      Viktor Söderqvist authored
      * Implement redisSetTcpUserTimeout to set socket option TCP_USER_TIMEOUT
      
      * Documentation for redisSetTcpUserTimeout and some more undocumented functions
      
      Documentation for redisReconnect() and the setters of socket options:
      
      * redisKeepAlive()
      * redisEnableKeepAliveWithInterval()
      * redisSetTcpUserTimeout()
      b6a052fe
  3. 13 Mar, 2023 1 commit
  4. 08 Mar, 2023 1 commit
  5. 16 Nov, 2022 1 commit
  6. 15 Nov, 2022 1 commit
  7. 10 Nov, 2022 1 commit
  8. 07 Nov, 2022 1 commit
  9. 05 Sep, 2022 1 commit
    • Michael Grunder's avatar
      Fix protocol error (#1106) · 79ae5ffc
      Michael Grunder authored
      
      
      Fix ProtocolError
      
      This commit attempts to fix hiredis such that a recoverable write error
      will be retried rather than throwing a hard error.
      
      Since our read/write functions are now behind function pointers, we
      specify semantically that a return value of < 0 is a hard error, 0 a
      recoverable error, and > 0 a success.
      
      Our default `redisNetRead` function was already doing something similar
      so this also improves code consistency.
      
      Resolves #961
      Co-authored-by: default avatarMaksim Tuleika <maksim.tuleika@appcast.io>
      79ae5ffc
  10. 02 Sep, 2022 2 commits
  11. 01 Sep, 2022 1 commit
  12. 30 Aug, 2022 1 commit
  13. 22 Dec, 2021 2 commits
  14. 07 Oct, 2021 1 commit
  15. 04 Oct, 2021 1 commit
  16. 11 Jul, 2021 1 commit
  17. 26 Feb, 2021 1 commit
  18. 21 Aug, 2020 1 commit
  19. 03 Aug, 2020 1 commit
  20. 31 Jul, 2020 1 commit
  21. 29 Jul, 2020 2 commits
    • michael-grunder's avatar
      Update notes preparing for v1.0.0-rc1 · a8534675
      michael-grunder authored
      a8534675
    • Michael Grunder's avatar
      Move SSL management to a distinct private pointer. (#855) · d8ff7238
      Michael Grunder authored
      We need to allow our users to use redisContext->privdata as context
      for any RESP3 PUSH messages, which means we can't use it for managing
      SSL connections.
      
      Bulletpoints:
      
      * Create a secondary redisContext member for internal use only called
        privctx and rename the redisContextFuncs->free_privdata accordingly.
      
      * Adds a `free_privdata` function pointer so the user can tie allocated
        memory to the lifetime of a redisContext (like they can already do
        with redisAsyncContext)
      
      * Enables SSL tests in .travis.yml
      d8ff7238
  22. 26 Jul, 2020 2 commits
  23. 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
  24. 07 Jun, 2020 1 commit
  25. 19 May, 2020 1 commit
  26. 28 Feb, 2020 1 commit
  27. 28 Jan, 2020 1 commit
  28. 01 Jan, 2020 1 commit
  29. 01 Sep, 2019 1 commit
  30. 29 Aug, 2019 1 commit
  31. 09 Aug, 2019 1 commit
    • Marcus Geelnard's avatar
      MinGW fix: Use _MSC_VER instead of _WIN32 where appropriate · 85fee256
      Marcus Geelnard authored
      Use _MSC_VER (instead of _WIN32) for things that are specific for
      Visual Studio.
      
      Also remove #include <winsock2.h> from hiredis.h, as it leaks too
      many symbols and defines into the global namespace, which is
      undesirable for a public interface header. Anyone who uses the
      the affected parts of the hiredis API needs to include the
      appropriate headers anyway in order to declare struct timeval
      variables.
      85fee256
  32. 04 Aug, 2019 1 commit
  33. 13 Apr, 2019 1 commit
  34. 01 Apr, 2019 2 commits
    • m's avatar
      Port network layer to Winsock · dc6d19b9
      m authored
      With this change, Hiredis builds with MinGW and runs on Windows.
      dc6d19b9
    • m's avatar
      Introduce a redisFD type · e84086cb
      m authored
      The redisFD type should be equal to the system native socket file
      desciptor type (for POSIX, this is a plain int).
      
      We also introduce the REDIS_INVALID_FD value, which maps to -1 on POSIX
      systems.
      e84086cb
  35. 21 Feb, 2019 1 commit