Sha256: 93e153b39a05d7ab7b348752551dd0f5b66af6dc691191e15560f02cb15b56f5
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
require 'thread' NodeInformation=Struct.new(:address,:port,:protocol,:nodeHash) class NodeInformation def to_s "[#{protocol}://#{address}:#{port} #{nodeHash.inspect}]" end def <=>(i) r=(self.nodeHash<=>i.nodeHash) return r if r!=0 r=(self.address<=>i.address) return r if r!=0 r=(self.port<=>i.port) return r if r!=0 r=(self.protocol<=>i.protocol) return r if r!=0 0 end end class AbstractSendConnection def initialize(baseSocket) @baseSocket=baseSocket end def method_missing(*m) end private def send(message) @baseSocket.send(message) end end #class AbstractReceiveConnection # def run # @thread=Thread.new{ # # } # end #end class AbstractNetNode include DRbUndumped attr_reader :id attr_accessor :hook def initialize(port,app,protocol,hash) @id=NodeInformation.new(address,port,protocol,hash) @app=app @hook=nil end def log(*s) if @app @app.log(*s) else puts s.map{|x|x.to_s}.join(" ") end end def port @id.port end def protocol @id.protocol end def address # TODO "127.0.0.1" end def setHook(&b) @hook=b end def method_missing(*s) return @hook.call(*s) if @hook super end def node @id end def sendTo(nodeId,*s) end def sendToAll(*s) end def connect(nodeId) end def close(nodeId) end def nodes [] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
appswarm-0.0.1 | apps/network_node/abstract_node.rb |