class Einhorn::Event::CommandServer
Public Class Methods
from_state(state)
click to toggle source
# File lib/einhorn/event/command_server.rb, line 36 def self.from_state(state) fd = state[:server] socket = UNIXServer.for_fd(fd) self.open(socket) end
new(server)
click to toggle source
# File lib/einhorn/event/command_server.rb, line 9 def initialize(server) @server = server @closed = false register! end
open(server)
click to toggle source
# File lib/einhorn/event/command_server.rb, line 5 def self.open(server) self.new(server) end
Public Instance Methods
close()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 42 def close @closed = true deregister! @server.close end
deregister!()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 53 def deregister! Einhorn::Command::Interface.command_server = nil Einhorn::Event.deregister_readable(self) end
notify_readable()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 17 def notify_readable begin while true return if @closed sock = Einhorn::Compat.accept_nonblock(@server) Connection.open(sock) end rescue Errno::EAGAIN end end
register!()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 48 def register! Einhorn::Command::Interface.command_server = self Einhorn::Event.register_readable(self) end
to_io()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 28 def to_io @server end
to_state()
click to toggle source
# File lib/einhorn/event/command_server.rb, line 32 def to_state {:class => self.class.to_s, :server => @server.fileno} end