In reply to shimonc:
Since you are implementing get(), it is totally up to you to define what it means to have a transaction ready to consume, and then consume it. Typically one thinks of a FIFO or queue where get() waits for something to appear in the queue, and then pops it off.