When does ubus-client lost connect with ubus?

according to the code

if (u->eof)
ctx->connection_lost(ctx);

if writev_retry or recv_retry return -1, u->eof will be set true, so that ubus-client will reconncect to ubus
as i know, ubus implement IPC with unix socket ,and set NONBLOCK,
so only when the unix socket buffer is out , the client will lost connecti with ubus??