Sha256: 51a445f52a3d812aeea451696f48c92d2b99e1ef6abdd262a84478b3178bb593

Contents?: true

Size: 889 Bytes

Versions: 19

Compression:

Stored size: 889 Bytes

Contents

require 'thread'

module AWS
  class S3
    class BucketRegionCache

      def initialize
        @regions = {}
        @mutex = Mutex.new
      end

      def [](bucket_name)
        @mutex.synchronize do
          @regions[bucket_name]
        end
      end

      def []=(bucket_name, region_name)
        @mutex.synchronize do
          @regions[bucket_name] = region_name
        end
      end

      def delete(bucket_name)
        @mutex.synchronize do
          @regions[bucket_name] = region_name
        end
      end

      def update!(bucket_regions)
        @mutex.synchronize do
          @regions.update!(bucket_regions)
        end
      end

      def clear
        @mutex.synchronize do
          @regions = {}
        end
      end

      def to_hash
        @mutex.synchronize do
          @regions.dup
        end
      end
      alias to_h to_hash

    end
  end
end

Version data entries

19 entries across 19 versions & 4 rubygems

Version Path
aws-sdk-v1-reinteractive-1.67.1 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.67.0 lib/aws/s3/bucket_region_cache.rb
ivanvc-logstash-input-s3-3.1.1.4 vendor/local/gems/aws-sdk-v1-1.66.0/lib/aws/s3/bucket_region_cache.rb
ivanvc-logstash-input-s3-3.1.1.3 vendor/local/gems/aws-sdk-v1-1.66.0/lib/aws/s3/bucket_region_cache.rb
ivanvc-logstash-input-s3-3.1.1.2 vendor/local/gems/aws-sdk-v1-1.66.0/lib/aws/s3/bucket_region_cache.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.66.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.65.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.64.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.63.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.62.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.61.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.60.2 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.60.1 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.60.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.59.1 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.59.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.58.0 lib/aws/s3/bucket_region_cache.rb
aws-sdk-v1-1.57.0 lib/aws/s3/bucket_region_cache.rb