Ad handed out; ownership transfers to the caller, including destruction.
Buffer exhausted, refill in flight. Retry later.
pollTimeoutMillis elapsed. The pool keeps filling.
Request completed with no ad. Routine ad-server outcome, not a defect.
Network or internal failure.
Outcome of
poll(). Replaces a barenull, which could not distinguish an exhausted buffer from a timeout, a no-fill, or a transport failure: cases that call for different consumer responses.emptyandtimeoutare not errors: the pool is still refilling.A
filledresult means an ad came out of the buffer and nothing more. There is no hand-off freshness guarantee: on an SDK-managed pool the poll path performs no age sweep. An ad that already exceeds the configured policy window is still handed over withisStaleByPolicy()true; the publisher decides, because a poll removes the ad with no put-back and the publisher's window may be stricter than the platform's own timeout.