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.
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
|
# File 'lib/em/pure_ruby.rb', line 702
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.
699
700
701
|
# File 'lib/em/pure_ruby.rb', line 699
def io
@io
end
|
#is_server ⇒ Object
Returns the value of attribute is_server.
699
700
701
|
# File 'lib/em/pure_ruby.rb', line 699
def is_server
@is_server
end
|
#uuid ⇒ Object
Returns the value of attribute uuid.
700
701
702
|
# File 'lib/em/pure_ruby.rb', line 700
def uuid
@uuid
end
|
Instance Method Details
#close_scheduled? ⇒ Boolean
730
731
732
|
# File 'lib/em/pure_ruby.rb', line 730
def close_scheduled?
@close_scheduled
end
|
#get_peername ⇒ Object
742
743
744
|
# File 'lib/em/pure_ruby.rb', line 742
def get_peername
nil
end
|
#get_sockname ⇒ Object
746
747
748
|
# File 'lib/em/pure_ruby.rb', line 746
def get_sockname
nil
end
|
#heartbeat ⇒ Object
754
755
|
# File 'lib/em/pure_ruby.rb', line 754
def heartbeat
end
|
#schedule_close(after_writing = false) ⇒ Object
757
758
759
760
761
762
763
|
# File 'lib/em/pure_ruby.rb', line 757
def schedule_close(after_writing=false)
if after_writing
@close_requested = true
else
@close_scheduled = true
end
end
|
#select_for_reading? ⇒ Boolean
734
735
736
|
# File 'lib/em/pure_ruby.rb', line 734
def select_for_reading?
false
end
|
#select_for_writing? ⇒ Boolean
738
739
740
|
# File 'lib/em/pure_ruby.rb', line 738
def select_for_writing?
false
end
|
#set_inactivity_timeout(tm) ⇒ Object
750
751
752
|
# File 'lib/em/pure_ruby.rb', line 750
def set_inactivity_timeout tm
@inactivity_timeout = tm
end
|