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) ()