anchor.diff:  %% ------------------------------------------------------------------
   %% Internal Function Definitions
   % ------------------------------------------------------------------
  --spec send_request(Procedure :: {atom(), term()},
  -		   From :: {pid(), Tag :: term()},
  -		   State :: #state{}) ->
  -    {noreply, State :: #state{}} |
  -    {reply, {error, Reason :: term()}, State :: #state{}}.
  -send_request(Procedure, From,
  -	     State = #state{socket = Socket,
  -			    transaction_register = TR,
  -			    counter = Counter}) ->
  +-spec transaction(Session :: pid(),
  +		  Procedure :: {atom(), term()}) -> term().
  +transaction(Session, Procedure) ->
  +    #{socket := Socket,
  +      transaction_register := TR,
  +      counter := Counter,
  +      timeout := TO} = gen_server:call(Session, get_state),
       {Tid, PDU} = get_pdu(Counter, Procedure),
       ?debug("Encoding PDU: ~p", [PDU]),
       Bin = apollo_pb:encode_msg(PDU),
       CorrId = encode_unsigned_16(Tid),
       case send(Socket, CorrId, Bin) of
   	ok ->
  -	    true = ets:insert(TR, {CorrId, From}),
  -	    {noreply, State};
  +	    true = ets:insert(TR, {CorrId, self()}),
  +	    receive
  +		{response, Data} ->
  +		    decode(Data)
  +	    after
  +		TO ->
  +		    {error, timeout}
  +	    end;
   	{error, Reason} ->
  -	    {reply, {error, Reason}, State}
  +	    {error, Reason}
       end.
   
   -spec send(Socket :: port(),
  
positive.code:     {ok, KVP :: kvp()} |
      {error, Reason :: invalid | term()}.
  next(Session, Ref) ->
      Data = gen_server:call(Session, {next, Ref}, ?REQ_TIMEOUT),
      decode(Data).
  
  %%--------------------------------------------------------------------
  %% @doc
  
negative.code:     {ok, KVP :: kvp(), Ref :: pid()} |
      {error, Reason :: invalid | term()}.
  seek(Session, TabName, Key) ->
      P = #'Seek'{table_name = TabName,
  		key = make_seq_of_fields(Key)},
      transaction(Session, {seek, P}).
  
  %%--------------------------------------------------------------------
  %% @doc
  