method seek len =
    if not seek || len <= 0 then 0 else
      Tutils.mutexify generator_lock (fun () ->
        let len = min len (Generator.remaining generator) in
          Generator.remove generator len ;
          len) ()