poll until complete, request extra if haven't requested enough