From 6d682ab7ebaa8e0db0124e672343c84397517bf8 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Wed, 6 Oct 2021 08:41:30 -0700 Subject: [PATCH] Add simple stack implementation --- .../commands/serve/mappers/internal/stack.rb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 plugins/commands/serve/mappers/internal/stack.rb diff --git a/plugins/commands/serve/mappers/internal/stack.rb b/plugins/commands/serve/mappers/internal/stack.rb new file mode 100644 index 000000000..fbf0bd8b4 --- /dev/null +++ b/plugins/commands/serve/mappers/internal/stack.rb @@ -0,0 +1,45 @@ +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