class Arachni::Data::Framework::RPC
Data
for {Arachni::RPC::Server::Framework}.
@author Tasos “Zapotek” Laskos <tasos.laskos@arachni-scanner.com>
Attributes
distributed_page_queue[R]
@return [Support::Database::Queue]
Public Class Methods
load( directory )
click to toggle source
# File lib/arachni/data/framework/rpc.rb, line 49 def self.load( directory ) rpc = new Dir["#{directory}/distributed_page_queue/*"].each do |page_file| rpc.distributed_page_queue.disk << page_file end rpc end
new()
click to toggle source
# File lib/arachni/data/framework/rpc.rb, line 21 def initialize @distributed_page_queue = Support::Database::Queue.new end
Public Instance Methods
clear()
click to toggle source
# File lib/arachni/data/framework/rpc.rb, line 59 def clear @distributed_page_queue.clear end
dump( directory )
click to toggle source
# File lib/arachni/data/framework/rpc.rb, line 29 def dump( directory ) FileUtils.mkdir_p( directory ) page_queue_directory = "#{directory}/distributed_page_queue/" FileUtils.rm_rf( page_queue_directory ) FileUtils.mkdir_p( page_queue_directory ) distributed_page_queue.buffer.each do |page| IO.binwrite( "#{page_queue_directory}/#{page.persistent_hash}", distributed_page_queue.serialize( page ) ) end distributed_page_queue.disk.each do |filepath| FileUtils.cp filepath, "#{page_queue_directory}/" end end
statistics()
click to toggle source
# File lib/arachni/data/framework/rpc.rb, line 25 def statistics { distributed_page_queue: @distributed_page_queue.size } end