class Wayfarer::Frontiers::MemoryFrontier

A naive in-memory frontier. @api private

Public Class Methods

new(config) click to toggle source
Calls superclass method Wayfarer::Frontiers::Frontier::new
# File lib/wayfarer/frontiers/memory_frontier.rb, line 11
def initialize(config)
  @current_uris = Set.new([])
  @staged_uris  = Set.new([])
  @cached_uris  = Set.new([])
  super(config)
end

Public Instance Methods

cache(*uris) click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 43
def cache(*uris)
  @cached_uris |= if JAVA_PLATFORM == "java"
                    uris.map(&:to_s)
                  else
                    Parallel.map(uris, &:to_s)
                  end
end
cached?(uri) click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 52
def cached?(uri)
  @cached_uris.include?(uri.to_s)
end
current_uris() click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 19
def current_uris
  if JAVA_PLATFORM == "java"
    @current_uris.map { |uri| URI(uri) }
  else
    Parallel.map(@current_uris) { |uri| URI(uri) }
  end
end
free() click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 57
def free
  @current_uris = @staged_uris = @cached_uris = nil
end
stage(*uris) click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 33
def stage(*uris)
  @staged_uris |= uris
end
staged?(uri) click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 38
def staged?(uri)
  @staged_uris.include?(uri.to_s)
end
staged_uris() click to toggle source

@override

# File lib/wayfarer/frontiers/memory_frontier.rb, line 28
def staged_uris
  @staged_uris.to_a # These are assumed to be URIs already, so no map
end

Private Instance Methods

filter_staged_uris!() click to toggle source
# File lib/wayfarer/frontiers/memory_frontier.rb, line 71
def filter_staged_uris!
  @staged_uris.delete_if { |uri| cached?(uri) }
end
reset_staged_uris!() click to toggle source
# File lib/wayfarer/frontiers/memory_frontier.rb, line 63
def reset_staged_uris!
  @staged_uris = Set.new([])
end
swap!() click to toggle source
# File lib/wayfarer/frontiers/memory_frontier.rb, line 67
def swap!
  @current_uris = @staged_uris
end