Class: DeepConnect::Event::AsyncronusRequest

Inherits:
Request show all
Defined in:
lib/deep-connect/event.rb

Instance Attribute Summary

Attributes inherited from Request

#args, #method

Attributes inherited from Event

#receiver, #seq, #session

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Request

#create_exception, #init_req, #inspect, materialize_sub, #reply, #request?, #result, #result_event, #serialize, #set_seq

Methods inherited from Event

#inspect

Constructor Details

#initialize(session, receiver, method, args, callback = nil) ⇒ AsyncronusRequest

Returns a new instance of AsyncronusRequest.



295
296
297
298
# File 'lib/deep-connect/event.rb', line 295

def initialize(session, receiver, method, args, callback = nil)
	super(session, receiver, method, args)
	@callback = callback
end

Class Method Details

.receipt(session, seq, receiver, method, args) ⇒ Object



288
289
290
291
292
# File 'lib/deep-connect/event.rb', line 288

def AsyncronusRequest.receipt(session, seq, receiver, method, args)
	rec = new(session, receiver, method, args)
	rec.set_seq(seq)
	rec
end

.request(session, receiver, method, args, callback) ⇒ Object



282
283
284
285
286
# File 'lib/deep-connect/event.rb', line 282

def AsyncronusRequest.request(session, receiver, method, args, callback)
	req = new(session, receiver, method, args, callback)
	req.init_req
	req
end

Instance Method Details

#reply_classObject



300
301
302
# File 'lib/deep-connect/event.rb', line 300

def reply_class
	AsyncronusReply
end

#result=(ev) ⇒ Object



304
305
306
307
308
309
310
311
312
313
314
315
316
# File 'lib/deep-connect/event.rb', line 304

def result=(ev)
	@result = ev
	if @callback
	  Thread.start do
	    if ev.exp
 exp = create_exception
 @callback.call(nil, exp)
	    else
 @callback.call(ev.result, nil)
	    end
	  end
	end
end