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