anchor.diff:  -module(imem_test_writer).
   
  -%% -ifdef(TEST).
  +% -ifdef(TEST).                   % empty module in production
   
  --include("imem.hrl").
  --include("imem_meta.hrl").
  +-include("imem.hrl").           % import logging macros
  +-include("imem_meta.hrl").      % import exceptions and data types
   
  --behavior(gen_server).
  +-behavior(gen_server).          % implicitly defines the required callbacks
   
  --record(ddTest,   %% test table    
  +-record(ddTest,   % test table record definition with erlang types
                     { time      ::ddTimestamp()
                     , x         ::integer()
                     , fX        ::integer()
  
positive.code: handle_cast(_Request, State) ->
      {noreply, State}.
  
  terminate(_Reason, _State) -> ok.
  code_change(_OldVsn, State, _Extra) -> {ok, State}.
  format_status(_Opt, [_PDict, _State]) -> ok.
  
  %% -endif.
  
  
  %% -----------------------------------------------------------------------------
  %% -define(ddTestName,ddTest_100@).   %% time partitioned 100 seconds / ,{purge_delay,500}
  
  % -record(state1, % fibonacci state
  %                 { wait = 1000                ::integer()
  %                 , fib_2 = 0                  ::integer()
  %                 , fib_1 = 1                  ::integer()
  %                 , n = 2                       ::integer()
  %                 }).
  
  % handle_info(write_record, #state{}) ->
  %     imem_test_writer:write_test_record(0,0,0.0,"fib start"),
  %     imem_test_writer:write_test_record(1,1,1.0,"fib next"),
  %     handle_info(write_record, #state1{wait=1000,fib_2=0,fib_1=1,n=2});
  % handle_info(write_record, #state1{wait=Wait,fib_2=L2,fib_1=L1,n=N}) ->
  %     imem_test_writer:write_test_record(N,L2+L1,1.0/N,"fib next"),
  %     erlang:send_after(Wait, self(), write_record),
  %     {noreply, #state1{wait=Wait,fib_2=L1,fib_1=L2+L1,n=N+1}}.
  
  % handle_call({wait, Wait}, _From, #state1{}=State) ->
  %     {reply, ok, State#state1{wait=Wait}}.
  
negative.code:                   , comment   ::list()
                    }
         ).
  -define(ddTest, [timestamp,integer,integer,float,string]).  % test table DDerl types
  
  -define(ddTestName,ddTest@).  %% node sharded test table (local content per node) 
  
  -record(state,  % process state (stateless apart from delay)
                  {wait = 500 :: integer()}
         ).
  
  % gen_server API call exports
  
  -export([ start_link/1
          , start/1
          , stop/0
          , wait/1
          , fac/1
          , write_test_record/4
          ]).
  
  % sample usage for demo:
  % imem_test_writer:start(333).
  % imem_test_writer:wait(100).
  % imem_test_writer:wait(5).
  % imem_test_writer:stop().
  % l(imem_test_writer).
  
  % gen_server behavior callback exports
  
  -export([ init/1
          , handle_call/3
  