Sha256: 94f136e95dc2b22cba5a5df69bb2b356ada125ae1ca7690d1f0928cf9293f209
Contents?: true
Size: 1.78 KB
Versions: 4
Compression:
Stored size: 1.78 KB
Contents
require 'deadly_serious/engine/channel/socket/minion' require 'deadly_serious/engine/channel/socket/master_mind' module DeadlySerious module Engine class SocketChannel # Odd, but I had too :( require 'deadly_serious/engine/channel/socket/socket_vent_recvr' require 'deadly_serious/engine/channel/socket/socket_vent_sendr' require 'deadly_serious/engine/channel/socket/socket_sink_recvr' require 'deadly_serious/engine/channel/socket/socket_sink_sendr' include Enumerable END_MSG = 'END TRANSMISSION'.freeze RDY_MSG = 'READY FOR TRANSMISSION'.freeze DEFAULT_PORT = 10001 REGEXP = /\A([<>][{}])([^:]+):(\d{1,5})\z/ attr_reader :host, :port, :master def self.of_type(name) matcher = name.match(REGEXP) return if matcher.nil? type = matcher[1] case type when '>{' SocketVentSendr when '<{' SocketVentRecvr when '>}' SocketSinkSendr when '<}' SocketSinkRecvr else nil end end def initialize(name, _config) matcher = name.match(REGEXP) host = matcher[2] port = matcher[3] @host = host.to_s.empty? ? 'localhost' : host.to_s @port = port.to_s.empty? ? DEFAULT_PORT : port.to_i @master = MasterMind.new_instance end def each fail 'Subclass implementation' end def <<(_data) fail 'Subclass implementation' end def close fail 'Subclass implementation' end def flush # Do nothing end def self.create(_name, _config) # Do nothing end # Only for tests def context master.factory end end end end
Version data entries
4 entries across 4 versions & 1 rubygems