Sha256: 179d98919e1f0cf8dc39c8939fd503292b733098e8ecee10eadd146822776499

Contents?: true

Size: 970 Bytes

Versions: 44

Compression:

Stored size: 970 Bytes

Contents

require 'concurrent/atomic/abstract_thread_local_var'

if Concurrent.on_jruby?

  module Concurrent

    # @!visibility private
    # @!macro internal_implementation_note
    class JavaThreadLocalVar < AbstractThreadLocalVar

      # @!macro thread_local_var_method_get
      def value
        value = @var.get

        if value.nil?
          @default
        elsif value == NULL
          nil
        else
          value
        end
      end

      # @!macro thread_local_var_method_set
      def value=(value)
        @var.set(value)
      end

      # @!macro thread_local_var_method_bind
      def bind(value, &block)
        if block_given?
          old_value = @var.get
          begin
            @var.set(value)
            yield
          ensure
            @var.set(old_value)
          end
        end
      end

      protected

      # @!visibility private
      def allocate_storage
        @var = java.lang.ThreadLocal.new
      end
    end
  end
end

Version data entries

44 entries across 42 versions & 15 rubygems

Version Path
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.3.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-csharp-0.2.0 vendor/bundle/jruby/2.3.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
mrcooper-logstash-output-azuresearch-0.2.2 vendor/jruby/2.5.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-output-icinga-1.1.0 vendor/jruby/2.3.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-output-icinga-1.1.0 vendor/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-cache-redis-0.1.0 vendor/bundle/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-csharp-0.1.0 vendor/bundle/jruby/2.3.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-htmlentities-0.1.0 vendor/bundle/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-output-icinga-1.0.0 vendor/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-input-fifo-0.9.1 vendor/bundle/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-input-fifo-0.9.0 vendor/bundle/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-input-salesforce-3.0.0 vendor/jruby/1.9/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
abaci-0.3.0 vendor/bundle/gems/concurrent-ruby-1.0.2/lib/concurrent/atomic/java_thread_local_var.rb
ivanvc-logstash-input-s3-3.1.1.4 vendor/local/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
ivanvc-logstash-input-s3-3.1.1.3 vendor/local/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
ivanvc-logstash-input-s3-3.1.1.2 vendor/local/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
second_step-0.1.2 secondstep-notify-1.0.0-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/concurrent-ruby-1.0.2/lib/concurrent/atomic/java_thread_local_var.rb
tdiary-5.0.2 vendor/bundle/gems/concurrent-ruby-1.0.2/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-delta-1.1.0 vendor/bundle/jruby/2.2.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb
logstash-filter-delta-1.0.1 vendor/bundle/jruby/2.2.0/gems/concurrent-ruby-1.0.0-java/lib/concurrent/atomic/java_thread_local_var.rb