radcli_request_done(3) Radius client library radcli_request_done(3)

radcli_request_done - Report r's outcome once radcli_ctx_dispatch() has resolved it a pure state query, performing no I/O of its own.

#include <radcli/>

int radcli_request_done(
    radcli_request  *r
);

Since REQ-NET2-SEND-016/013, r shares ctx's request socket/session with every other concurrently in-flight RADCLI_REQUEST_SENDONLY request, and radcli_ctx_dispatch() is what actually drives it to completion (draining replies, retransmitting, expiring on timeout) this call never performs I/O itself, so calling it any number of times between radcli_ctx_dispatch() calls is free.

a request radcli_request_perform(r, RADCLI_REQUEST_SENDONLY) returned RADCLI_OK for.

RADCLI_AGAIN if still waiting (call radcli_ctx_get_poll()/ radcli_ctx_dispatch() and try again), RADCLI_OK if a validated reply was received (read it with radcli_request_code()/_attrs(), same as radcli_request_perform()), RADCLI_TIMEOUT if retries are exhausted, or RADCLI_ERROR on failure or if r was never sent with RADCLI_REQUEST_SENDONLY.

radcli_aaa(3), radcli_request_attrs(3), radcli_request_code(3), radcli_request_free(3), radcli_request_new(3), radcli_request_perform(3), radcli_request_server(3)

2026-09-03 radcli