class Mocket
Constants
- LISTENING
Attributes
state[RW]
Public Class Methods
hostunreachable(host, port)
click to toggle source
# File lib/mocket.rb, line 9 def self.hostunreachable(host, port) self.setport(host, port, :EHOSTUNREACH) end
listen(host, port)
click to toggle source
# File lib/mocket.rb, line 13 def self.listen(host, port) self.setport(host, port, LISTENING) end
netunreachable(host, port)
click to toggle source
# File lib/mocket.rb, line 17 def self.netunreachable(host, port) self.setport(host, port, :ENETUNREACH) end
new()
click to toggle source
# File lib/mocket.rb, line 5 def initialize self.state = :open end
open(host, port)
click to toggle source
# File lib/mocket.rb, line 21 def self.open(host, port) state = self.portstate(host, port) return Mocket.new if state == LISTENING raise Errno.const_get(state) end
reset!()
click to toggle source
# File lib/mocket.rb, line 27 def self.reset! @@ports = Hash.new(Hash.new(:ECONNREFUSED)) end
timeout(host, port)
click to toggle source
# File lib/mocket.rb, line 31 def self.timeout(host, port) self.setport(host, port, :ETIMEDOUT) end
Private Class Methods
portstate(host, port)
click to toggle source
# File lib/mocket.rb, line 48 def self.portstate(host, port) @@ports[host][port] end
setport(host, port, state)
click to toggle source
# File lib/mocket.rb, line 52 def self.setport(host, port, state) @@ports[host][port] = state end
Public Instance Methods
close()
click to toggle source
# File lib/mocket.rb, line 35 def close self.state = :closed end
write(bytes)
click to toggle source
# File lib/mocket.rb, line 39 def write(bytes) raise IOError, 'closed stream' if state == :closed bytes.size end