anchor.diff:          {ok, ConnManager} ->
               NewState = State#state{conn_manager = ConnManager},
               route_message(NewState, Msg, {self(), ConnManager, SessionId});
  -        Error ->
  +        _Error ->
               % Connection manager starts asynchronously so it is
               % possible that it hasn't started yet.
  -            ?error_stacktrace("Message routing error: ~p", [Error]),
               route_message(State, Msg, SessionId)
       end;
   route_message(#state{
  
positive.code: %%%           so that it can send and receive messages.
  %%%
  %%% More detailed transitions between statuses for each connection and
  %%% message flow is depicted on below diagram.
  %%%
  %%%              INCOMING              |              OUTGOING
  %%%                                    |
  
negative.code:             ]),
              {error, timeout};
          Type:Reason ->
              ?error("Connection ~p cannot send msg ~p due to ~p:~p", [
                  Pid, Msg, Type, Reason
              ]),
              {error, Reason}
      end.
  