From d1974d9a0033c5cd616fa90cd1d4353ee55ee74a Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Fri, 22 Oct 2021 16:09:53 -0700 Subject: [PATCH] Remove implementations no longer required --- plugins/commands/serve/mappers/internal.rb | 1 - .../mappers/internal/graph/topological.rb | 81 ------------------- .../commands/serve/mappers/internal/stack.rb | 45 ----------- 3 files changed, 127 deletions(-) delete mode 100644 plugins/commands/serve/mappers/internal/graph/topological.rb delete mode 100644 plugins/commands/serve/mappers/internal/stack.rb diff --git a/plugins/commands/serve/mappers/internal.rb b/plugins/commands/serve/mappers/internal.rb index 684481acf..fe557d022 100644 --- a/plugins/commands/serve/mappers/internal.rb +++ b/plugins/commands/serve/mappers/internal.rb @@ -3,7 +3,6 @@ module VagrantPlugins class Mappers module Internal autoload :Graph, Vagrant.source_root.join("plugins/commands/serve/mappers/internal/graph").to_s - autoload :Stack, Vagrant.source_root.join("plugins/commands/serve/mappers/internal/stack").to_s end end end diff --git a/plugins/commands/serve/mappers/internal/graph/topological.rb b/plugins/commands/serve/mappers/internal/graph/topological.rb deleted file mode 100644 index fa5fc1b32..000000000 --- a/plugins/commands/serve/mappers/internal/graph/topological.rb +++ /dev/null @@ -1,81 +0,0 @@ -module VagrantPlugins - module CommandServe - class Mappers - module Internal - class Graph - # Provides topological sorting of a Graph - class Topological - class NoRootError < StandardError; end - class CycleError < StandardError; end - - attr_reader :graph - - # Create a new topological sorting instance - # - # @param graph [Graph] Graph used for sorting - def initialize(graph:) - @graph = graph.copy - @m = Mutex.new - end - - # Generate a topological sorted path of the defined - # graph. - # - # @return [Array] - # @raises [NoRootError, CycleError] - def sort - @m.synchronize do - s = Stack.new - - graph.vertices.each do |v| - s.push(v) if graph.edges_in(v).size < 1 - end - - if s.size < 1 - raise NoRootError, - "graph does not contain any root vertices" - end - - kahn(s) - end - end - - protected - - # Sort the graph vertices using Kahn's algorithm - # - # @param s [Stack] Stack to hold vertices - # @return [Array] - # @raises [CycleError] - def kahn(s) - p = Queue.new - while s.size > 0 - v = s.pop - p.push(v) - graph.edges_out(v).each do |next_v| - graph.remove_edge(v, next_v) - if graph.edges_in(next_v).size < 1 - s.push(next_v) - end - end - end - - graph.vertices.each do |v| - if graph.edges_in(v).size > 1 || graph.edges_out(v).size > 1 - raise CycleError, - "graph contains at least one cycle" - end - end - - Array.new.tap do |path| - while p.size > 0 - path << p.pop - end - end - end - end - end - end - end - end -end diff --git a/plugins/commands/serve/mappers/internal/stack.rb b/plugins/commands/serve/mappers/internal/stack.rb deleted file mode 100644 index fbf0bd8b4..000000000 --- a/plugins/commands/serve/mappers/internal/stack.rb +++ /dev/null @@ -1,45 +0,0 @@ -module VagrantPlugins - module CommandServe - class Mappers - module Internal - # Simple stack implementation - class Stack - def initialize - @data = [] - @m = Mutex.new - end - - def include?(v) - @m.synchronize do - @data.include?(v) - end - end - - def pop - @m.synchronize do - @data.pop - end - end - - def push(v) - @m.synchronize do - @data.push(v) - end - end - - def size - @m.synchronize do - @data.size - end - end - - def values - @m.synchronize do - @data.dup - end - end - end - end - end - end -end