note
	description: "Summary description for {CALLER}."
	author: ""
	date: "$Date$"
	revision: "$Revision$"

class
	CALLER[EVENT_DATA -> TUPLE]
--create
--	make
feature{NONE}
    --queue :  separate QUEUE[ROUTINE[ANY,EVENT_DATA]]

    --process_request(a_request_queue: separate QUEUE[ROUTINE[ANY,EVENT_DATA]])
--	require
	--	not a_request_queue.is_empty
--	do
--		a_request_queue.item.call ([])
--	end


feature
	--make(a_request_queue : separate QUEUE[ROUTINE[ANY,EVENT_DATA]])
	--do
		--queue := a_request_queue
	--end

	call_async(delegate: separate PROCEDURE [ANY, EVENT_DATA]; data : EVENT_DATA)
	do
		delegate.call(data)
	end


	start
	do
			from
			until 1 /= 0
			loop
			--	process_request(queue)
			end

	end


end
