Sha256: ec7634d4d6b85e35710f75420998bcb93771c61e122dae54e491fe6680115aa1
Contents?: true
Size: 1.2 KB
Versions: 5
Compression:
Stored size: 1.2 KB
Contents
require Options.paths.root + 'ui/cli/output' require Options.paths.lib + 'rpc/server/dispatcher' require Options.paths.lib + 'processes/manager' class Node < Arachni::RPC::Server::Dispatcher::Node def initialize super Options methods.each do |m| next if method( m ).owner != Arachni::RPC::Server::Dispatcher::Node self.class.send :private, m self.class.send :public, m end @server = Arachni::RPC::Server::Base.new( @options ) @server.add_async_check do |method| # methods that expect a block are async method.parameters.flatten.include?( :block ) end @server.add_handler( 'node', self ) @server.start end def url "#{@options.rpc.server_address}:#{@options.rpc.server_port}" end def shutdown Reactor.global.stop Arachni::Processes::Manager.kill Process.pid end def connect_to_peer( url ) self.class.connect_to_peer( url, @options ) end def self.connect_to_peer( url, opts ) c = Arachni::RPC::Client::Base.new( opts, url ) Arachni::RPC::Proxy.new( c, 'node' ) end end Reactor.global.run do Node.new end
Version data entries
5 entries across 5 versions & 1 rubygems