Class: Receiver

Inherits:
EventMachine::Connection
  • Object
show all
Defined in:
lib/wish/receiver.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue) ⇒ Receiver

Returns a new instance of Receiver.



6
7
8
9
# File 'lib/wish/receiver.rb', line 6

def initialize queue
	@queue = queue
	super
end

Instance Attribute Details

#queueObject

Returns the value of attribute queue.



4
5
6
# File 'lib/wish/receiver.rb', line 4

def queue
  @queue
end

Instance Method Details

#find_url(headers) ⇒ Object



27
28
29
30
# File 'lib/wish/receiver.rb', line 27

def find_url headers
	result = /GET \/[^\?]+\?url=([^\b]+?)\sHTTP\/1/.match(headers)
	result[1] unless result == nil
end

#receive_data(data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/wish/receiver.rb', line 11

def receive_data data
	result = find_url data
	if result == nil
		send_data "err"
	else
		send_data "ok"
		@queue << result
		Logger::info "Get a task, now we have " + @queue.size.inspect + " tasks."
	end
	close_connection_after_writing
end

#unbindObject



23
24
25
# File 'lib/wish/receiver.rb', line 23

def unbind
	Logger::info "Receiver service close"
end