Class: DeepConnect::Event::AsyncronusRequest
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_class ⇒ Object
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
|