blocking_queue: first version and test cases