Trying to understand very lowlevel internals

We have in ubus:

static inline void ubus_add_uloop(struct ubus_context *ctx)
{
uloop_fd_add(&ctx->sock, ULOOP_BLOCKING | ULOOP_READ);
}

why fd is added as blocking one? Wouldn't it polled asynchronously all the time by epoll? Or it is done for synchronous calls out of uloop?

I mean:

and of course logically to have non-blocking stuff in REAL asynchronous programs