anchor.diff:      {ok, State}.
   
   %% internal functions
  -open_log(Path) ->
  -    {ok, F} = file:open(Path, [raw, append, binary]),
  -    F.
  -
   log_msg(Msg, #state{buffer = Buffer,
                       buffer_size = BufferSize,
                       batch_size = BatchSize} = State) ->
  
positive.code:     NewState = flush_buffer(State),
      file:datasync(NewState#state.file),
      NewState.
  
negative.code: -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
           terminate/2, code_change/3]).
  
  -include_lib("kernel/include/file.hrl").
  -include("ale.hrl").
  
  -record(state, {
            path :: string(),
            file :: undefined | file:io_device(),
            file_size :: integer(),
            buffer :: binary(),
            buffer_size :: integer(),
            flush_timer :: undefined | reference(),
  
            batch_size :: pos_integer(),
            batch_timeout :: pos_integer(),
            rotation_size :: non_neg_integer(),
            rotation_num_files :: pos_integer()
           }).
  
  start_link(Name, Path) ->
  