anchor.diff:      tpp_tcp_client_init(Parent, GL),
       {ServerSA, BufInit, Send, Recv} = tpp_tcp_client_await_start(Parent),
       Domain   = maps:get(family, ServerSA),
  -    Sock     = tpp_tcp_client_sock_open(Domain),
  +    Sock     = tpp_tcp_client_sock_open(Domain, BufInit),
       tpp_tcp_client_sock_bind(Sock, Domain),
       tpp_tcp_client_announce_ready(Parent, init),
       tpp_tcp_client_await_continue(Parent, connect),
       tpp_tcp_client_sock_connect(Sock, ServerSA),
       tpp_tcp_client_announce_ready(Parent, connect),
       {InitMsg, Num} = tpp_tcp_client_await_continue(Parent, send),
  -    Result = tpp_tcp_client_msg_exchange(Sock, BufInit, Send, Recv, InitMsg, Num),
  +    Result = tpp_tcp_client_msg_exchange(Sock, Send, Recv, InitMsg, Num),
       tpp_tcp_client_announce_ready(Parent, send, Result),
       Reason = tpp_tcp_client_await_terminate(Parent),
       tpp_tcp_client_sock_close(Sock),
  
positive.code:             Reason
      end.
  
  tpp_tcp_client_msg_exchange(Sock, BufInit, Send, Recv, InitMsg, Num) ->
      ok    = BufInit(Sock),
      Start = ?LIB:timestamp(),
      tpp_tcp_client_msg_exchange_loop(Sock, Send, Recv, InitMsg, 
                                       Num, 0, 0, 0, Start).
  
negative.code:                            {CSent, CReceived, CStart, CStop} = CRes,
                             STime = tdiff(SStart, SStop),
                             CTime = tdiff(CStart, CStop),
                             %% Note that the sizes we are counting is only 
                             %% the "data" part of the messages. There is also
                             %% fixed header for each message, which of cource
                             %% is small for the large messages, but comparatively
                             %% big for the small messages!
                             ?SEV_IPRINT("Results: ~w messages exchanged"
                                         "~n   Server: ~w msec"
                                         "~n      ~.2f msec/message (roundtrip)"
                                         "~n      ~.2f messages/msec (roundtrip)"
                                         "~n      ~w bytes/msec sent"
                                         "~n      ~w bytes/msec received"
                                         "~n   Client: ~w msec"
                                         "~n      ~.2f msec/message (roundtrip)"
                                         "~n      ~.2f messages/msec (roundtrip)"
                                         "~n      ~w bytes/msec sent"
                                         "~n      ~w bytes/msec received",
                                         [Num,
                                          STime,
                                          STime / Num,
                                          Num / STime,
                                          SSent div STime,
                                          SReceived div STime,
                                          CTime,
                                          CTime / Num,
                                          Num / CTime,
                                          CSent div CTime,
                                          CReceived div CTime]),
                             State1 = maps:remove(server_result, State),
                             State2 = maps:remove(client_result, State1),
                             {ok, State2}
                     end},
  
  