anchor.diff:  %%%           so that it can send and receive messages.
   %%%
   %%% More detailed transitions between statuses for each connection and
  -%%% message flow is depicted on below diagram.
  +%%% message flow is depicted on diagram below.
   %%%
   %%%              INCOMING              |              OUTGOING
   %%%                                    |
  
positive.code:             ]),
              {error, timeout};
          Type:Reason ->
              ?error("Connection ~p cannot send msg ~p due to: ~p", [
                  Pid, Msg, {Type, Reason}
              ]),
              {error, Reason}
      end.
  
negative.code:         protocol_utils:maybe_create_proxy_session(PeerId, Msg),
          route_message(State, Msg)
      catch Type:Reason ->
          ?error("Client message handling error - ~p:~p", [Type, Reason]),
          {ok, State}
      end.
  
  