$18 GRAYBYTE WORDPRESS FILE MANAGER $57

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby32/share/ruby/drb/

HOME
Current File : /opt/alt/ruby32/share/ruby/drb//weakidconv.rb
# frozen_string_literal: false
require_relative 'drb'
require 'monitor'

module DRb

  # To use WeakIdConv:
  #
  #  DRb.start_service(nil, nil, {:idconv => DRb::WeakIdConv.new})

  class WeakIdConv < DRbIdConv
    class WeakSet
      include MonitorMixin
      def initialize
        super()
        @immutable = {}
        @map = ObjectSpace::WeakMap.new
      end

      def add(obj)
        synchronize do
          begin
            @map[obj] = self
          rescue ArgumentError
            @immutable[obj.__id__] = obj
          end
          return obj.__id__
        end
      end

      def fetch(ref)
        synchronize do
          @immutable.fetch(ref) {
            @map.each { |key, _|
              return key if key.__id__ == ref
            }
            raise RangeError.new("invalid reference")
          }
        end
      end
    end

    def initialize()
      super()
      @weak_set = WeakSet.new
    end

    def to_obj(ref) # :nodoc:
      return super if ref.nil?
      @weak_set.fetch(ref)
    end

    def to_id(obj) # :nodoc:
      return @weak_set.add(obj)
    end
  end
end

# DRb.install_id_conv(WeakIdConv.new)


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
31 Mar 2026 8.33 AM
root / linksafe
0755
acl.rb
4.61 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
drb.rb
57.612 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
eq.rb
0.269 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
extserv.rb
0.82 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
extservm.rb
1.804 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
gw.rb
3.005 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
invokemethod.rb
0.759 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
observer.rb
0.655 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
ssl.rb
11.518 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
timeridconv.rb
2.161 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
unix.rb
2.776 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
version.rb
0.034 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
weakidconv.rb
1.122 KB
13 Mar 2026 3.20 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF