/usr/lib/ruby/vendor_ruby/ffi-rzmq/poll_item.rb is in ruby-ffi-rzmq 2.0.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | require 'forwardable'
require 'io_extensions'
module ZMQ
class PollItem
extend Forwardable
def_delegators :@poll_item, :pointer, :readable?, :writable?
attr_accessor :pollable, :poll_item
def initialize(zmq_poll_item = nil)
@poll_item = zmq_poll_item || LibZMQ::PollItem.new
end
def self.from_pointer(pointer)
self.new(LibZMQ::PollItem.new(pointer))
end
def self.from_pollable(pollable)
item = self.new
item.pollable = pollable
case
when pollable.respond_to?(:socket)
item.socket = pollable.socket
when pollable.respond_to?(:posix_fileno)
item.fd = pollable.posix_fileno
when pollable.respond_to?(:io)
item.fd = pollable.io.posix_fileno
end
item
end
def closed?
case
when pollable.respond_to?(:closed?)
pollable.closed?
when pollable.respond_to?(:socket)
pollable.socket.nil?
when pollable.respond_to?(:io)
pollable.io.closed?
end
end
def socket=(arg); @poll_item[:socket] = arg; end
def socket; @poll_item[:socket]; end
def fd=(arg); @poll_item[:fd] = arg; end
def fd; @poll_item[:fd]; end
def events=(arg); @poll_item[:events] = arg; end
def events; @poll_item[:events]; end
end
end
|