anchor.diff:      ),
       remote_apply(Worker1, rtransfer, cancel, [Ref1]),
   
  +    timer:sleep(?TIMEOUT),
       %% then
       ?assertReceivedMatch({on_complete, {error, canceled}}, ?TIMEOUT).
   
  +%% TODO...
   many_requests_test(Config) ->
       %% test fetching many files
       [Worker1, Worker2 | _] = ?config(op_worker_nodes, Config),
  
positive.code:     DataSize = 32,
      RequestsNum = 1000,
      Data = generate_binary(DataSize),
      CounterPid = spawn(?MODULE, counterOnComplete, [#{ok => 0, errors => 0}]),
      WriteFunOpt = make_opt_fun(write_fun, {ok, ?FILE_HANDLE2, DataSize}),
      ReadFunOpt = make_opt_fun(read_fun, {ok, ?FILE_HANDLE2, Data}),
      RtransferOpts1 = [ReadFunOpt, WriteFunOpt, get_binding(Worker1) | ?DEFAULT_RTRANSFER_OPTS],
  
negative.code:     ),
  
      %% then
      ?assertReceivedMatch({on_complete, {ok, DataSize}}, ?TIMEOUT),
      stop_counter(CounterPid),
      ?assertReceivedMatch({counter, 1024}, ?TIMEOUT).
  
  %% TODO not working, got {ok, Size} instead of {error, cancel}
  cancel_fetch_test(Config) ->
      %% test cancelling request during fetching
      [Worker1, Worker2 | _] = ?config(op_worker_nodes, Config),
  