anchor.diff:                                     ERROR
                              end
                      end},
  +         #{desc => "announce ready (recv request)",
  +           cmd  => fun(#{tester := Tester}) ->
  +                           %% Tester ! {ready, self(), Port},
  +                           ev_ready(Tester, recv_req),
  +                           ok
  +                   end},
  +         #{desc => "await continue (with send reply)",
  +           cmd  => fun(#{tester := Tester}) ->
  +                           ok = ev_await_continue(Tester, tester, send_reply)
  +                   end},
            #{desc => "send reply",
  -           cmd  => fun(#{tsock := Sock, send := Send}) ->
  +           cmd  => fun(#{csock := Sock, send := Send}) ->
                              Send(Sock, ?BASIC_REP)
                      end},
  -         #{desc => "sleep some",
  -           cmd  => fun(_) ->
  -                           ?SLEEP(1000),
  -                           ok
  -                   end},
  -         #{desc => "close traffic socket",
  -           cmd  => fun(#{tsock := Sock}) ->
  +         #{desc => "announce ready (send reply)",
  +           cmd  => fun(#{tester := Tester}) ->
  +                           %% Tester ! {ready, self(), Port},
  +                           ev_ready(Tester, send_reply),
  +                           ok
  +                   end},
  +
  +         %% *** Termination ***
  +         #{desc => "await terminate",
  +           cmd  => fun(#{tester := Tester} = State) ->
  +                           case ev_await_terminate(Tester, tester) of
  +                               ok ->
  +                                   {ok, maps:remove(tester, State)};
  +                               {error, _} = ERROR ->
  +                                   ERROR
  +                           end
  +                   end},
  +         #{desc => "close connection socket",
  +           cmd  => fun(#{csock := Sock}) ->
                              socket:close(Sock)
                      end},
            #{desc => "close listen socket",
              cmd  => fun(#{lsock := Sock}) ->
                              socket:close(Sock)
                      end},
  +
  +         %% *** We are done ***
            #{desc => "finish",
              cmd  => fun(_) ->
                              {ok, normal}
  
positive.code: 
      ClientSeq = 
          [
           #{desc => "which server (local) address",
             cmd  => fun(#{domain := Domain, server_port := Port} = State) ->
                             LAddr = which_local_addr(Domain),
                             LSA   = #{family => Domain, 
                                       addr   => LAddr},
                             SSA   = LSA#{port => Port},
                             {ok, State#{lsa => LSA, ssa => SSA}}
                     end},
           #{desc => "create socket",
             cmd  => fun(#{domain := Domain} = State) ->
  
negative.code:          %% *** Termination ***
           #{desc => "order client to terminate",
             cmd  => fun(#{client := Client} = _State) ->
                             ev_terminate(Client),
                             ok
                     end},
  