Class: EventMachine::Selectable
- Inherits:
-
Object
- Object
- EventMachine::Selectable
show all
- Defined in:
- lib/em/pure_ruby.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Selectable.
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
|
# File 'lib/em/pure_ruby.rb', line 687
def initialize io
@io = io
@uuid = UuidGenerator.generate
@is_server = false
@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
warn "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.
684
685
686
|
# File 'lib/em/pure_ruby.rb', line 684
def io
@io
end
|
#is_server ⇒ Object
Returns the value of attribute is_server.
684
685
686
|
# File 'lib/em/pure_ruby.rb', line 684
def is_server
@is_server
end
|
#uuid ⇒ Object
Returns the value of attribute uuid.
685
686
687
|
# File 'lib/em/pure_ruby.rb', line 685
def uuid
@uuid
end
|
Instance Method Details
#close_scheduled? ⇒ Boolean
715
716
717
|
# File 'lib/em/pure_ruby.rb', line 715
def close_scheduled?
@close_scheduled
end
|
#get_peername ⇒ Object
727
728
729
|
# File 'lib/em/pure_ruby.rb', line 727
def get_peername
nil
end
|
#get_sockname ⇒ Object
731
732
733
|
# File 'lib/em/pure_ruby.rb', line 731
def get_sockname
nil
end
|
#heartbeat ⇒ Object
739
740
|
# File 'lib/em/pure_ruby.rb', line 739
def heartbeat
end
|
#schedule_close(after_writing = false) ⇒ Object
742
743
744
745
746
747
748
|
# File 'lib/em/pure_ruby.rb', line 742
def schedule_close(after_writing=false)
if after_writing
@close_requested = true
else
@close_scheduled = true
end
end
|
#select_for_reading? ⇒ Boolean
719
720
721
|
# File 'lib/em/pure_ruby.rb', line 719
def select_for_reading?
false
end
|
#select_for_writing? ⇒ Boolean
723
724
725
|
# File 'lib/em/pure_ruby.rb', line 723
def select_for_writing?
false
end
|
#set_inactivity_timeout(tm) ⇒ Object
735
736
737
|
# File 'lib/em/pure_ruby.rb', line 735
def set_inactivity_timeout tm
@inactivity_timeout = tm
end
|