Migration guide
Whenever there's an interface breaking change (a change in the project's major version), required migration instructions will be detailed in this file.
From [2.{0..3}.x] to [2.4.0]
Update
- your code to depend on types from
eredis:and not (imported)eredis.hrl(a simpledialyzerprocedure should put into evidence what is mis-specified) - where you're importing the
eredis.hrlheader and using typeX(), remove the import and useeredis:X()instead; do this for typesparser_state,continuation_data, andpstate - your code to not depend on
eredis.hrlmacrosNL,SOCKET_OPTS,TCP_SOCKET_OPTS,SSL_SOCKET_OPTS,RECV_TIMEOUTorSEND_TIMEOUT; copy their content fromsrc/eredis.hrl
Remove
- your code's import of
eredis.hrl - your code's import of
eredis_sub.hrl
From [1.x] to [2.x]
Update
- calls to
:q_async/2andq_async/3and matching of their asynchronous replies:
% where before you had:
eredis:q_async(Client, Command) ->
% [...]
handle_info({response, Reply}, State) ->
% [...]
% now you should have:
{await, ReplyTag} = eredis:q_async(Client, Command),
NewState = State#state{ reply_tag = ReplyTag }.
% [...]
handle_info({ReplyTag, Reply}, State) when ReplyTag =:= State#state.reply_tag ->
% [...]