How to make driver non-blocking

In reply to srbeeram:

The UVM sequence-driver API uses something that looks very similar to TLM, but unfortunately slightly different. The driver uses a uvm_seq_item_pull_port which has a blocking get_next_item() and a non-blocking try_next_item()