anchor.diff:  -export([read/1]).
   -export([write/2]).
   
  +-export([on/2]).
  +
   -export([lease_renew/1]).
   -export([lease_handover/2]).
  +-export([lease_takeover/1]).
  +-export([lease_split/3]).
  +-export([lease_merge/2]).
   
   %% filters and checks for rbr_cseq operations
   %% consistency
  --export([is_valid_state_change/3]).
  --export([is_valid_renewal/3]).
  --export([is_valid_handover/3]).
   
   -type lease_id() :: ?RT:key().
   -type lease_aux() ::
  -        any().
  -        %% | {aux, empty}
  -        %% %% split
  -        %% | {aux, jhsgjghs} %% 1. L1: 
  -        %%    | 
  -        %%    %% merge
  -%%.
  +  empty
  +| {invalid, split, R1, R2}
  +| {valid,   split, R1, R2}
  +| {invalid, merge, L1, L2}
  +| {invalid, merge, stopped}
  +| {valid,   merge, L1, L2}.
   
   -record(lease, {
             id      = ?required(lease, id     ) :: lease_id(),
  
positive.code:                       )
          end.
  
  write(Key, Value, ContentCheck) ->
      %% decide which lease db is responsible, ie. if the key is from
      %% the first quarter of the ring, use lease_db1, if from 2nd
  
negative.code: -author('schintke@zib.de').
  -vsn('$Id:$ ').
  
  %-define(TRACE(X,Y), io:format(X,Y)).
  -define(TRACE(X,Y), ok).
  -include("scalaris.hrl").
  -include("record_helpers.hrl").
  