In reply to sudharshan:
Since it is a “nonblocking” method, it should not block any component execution. So all the nonblocking methods are functions (since function returns in zero simulation time and doesn’t block the execution).
We can call the nonblocking methods from task and functions both.