Class: EventMachine::Selectable
- Inherits:
-
Object
- Object
- EventMachine::Selectable
show all
- Defined in:
- lib/pr_eventmachine.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Selectable.
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
|
# File 'lib/pr_eventmachine.rb', line 442
def initialize io
@uuid = UuidGenerator.generate
@io = io
@last_activity = Reactor.instance.current_loop_time
if defined?(Fcntl::F_GETFL)
m = @io.fcntl(Fcntl::F_GETFL, 0)
@io.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK | m)
else
begin
s = Socket.for_fd(@io.fileno)
s.fcntl( Fcntl::F_SETFL, Fcntl::O_NONBLOCK )
rescue Errno::EINVAL, Errno::EBADF
STDERR.puts "Serious error: unable to set descriptor non-blocking"
end
end
@close_scheduled = false
@close_requested = false
se = self; @io.instance_eval { @my_selectable = se }
Reactor.instance.add_selectable @io
end
|
Instance Attribute Details
#io ⇒ Object
Returns the value of attribute io.
440
441
442
|
# File 'lib/pr_eventmachine.rb', line 440
def io
@io
end
|
#uuid ⇒ Object
Returns the value of attribute uuid.
440
441
442
|
# File 'lib/pr_eventmachine.rb', line 440
def uuid
@uuid
end
|
Instance Method Details
#close_scheduled? ⇒ Boolean
469
470
471
|
# File 'lib/pr_eventmachine.rb', line 469
def close_scheduled?
@close_scheduled
end
|
#get_peername ⇒ Object
481
482
483
|
# File 'lib/pr_eventmachine.rb', line 481
def get_peername
nil
end
|
#heartbeat ⇒ Object
489
490
|
# File 'lib/pr_eventmachine.rb', line 489
def heartbeat
end
|
#select_for_reading? ⇒ Boolean
473
474
475
|
# File 'lib/pr_eventmachine.rb', line 473
def select_for_reading?
false
end
|
#select_for_writing? ⇒ Boolean
477
478
479
|
# File 'lib/pr_eventmachine.rb', line 477
def select_for_writing?
false
end
|
#set_inactivity_timeout(tm) ⇒ Object
485
486
487
|
# File 'lib/pr_eventmachine.rb', line 485
def set_inactivity_timeout tm
@inactivity_timeout = tm
end
|