mmenanno/lunchmoney

View on GitHub
sorbet/rbi/gems/drb@2.2.1.rbi

Summary

Maintainability
Test Coverage
# typed: false

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `drb` gem.
# Please instead update this file by running `bin/tapioca gem drb`.

# for ruby-1.8.0
#
# source://drb//lib/drb/eq.rb#2
module DRb
  private

  # Get the configuration of the current server.
  #
  # If there is no current server, this returns the default configuration.
  # See #current_server and DRbServer::make_config.
  #
  # source://drb//lib/drb/drb.rb#1832
  def config; end

  # Get the 'current' server.
  #
  # In the context of execution taking place within the main
  # thread of a dRuby server (typically, as a result of a remote
  # call on the server or one of its objects), the current
  # server is that server.  Otherwise, the current server is
  # the primary server.
  #
  # If the above rule fails to find a server, a DRbServerNotFound
  # error is raised.
  #
  # @raise [DRbServerNotFound]
  #
  # source://drb//lib/drb/drb.rb#1789
  def current_server; end

  # Retrieves the server with the given +uri+.
  #
  # See also regist_server and remove_server.
  #
  # source://drb//lib/drb/drb.rb#1934
  def fetch_server(uri); end

  # Get the front object of the current server.
  #
  # This raises a DRbServerNotFound error if there is no current server.
  # See #current_server.
  #
  # source://drb//lib/drb/drb.rb#1843
  def front; end

  # Is +uri+ the URI for the current local server?
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1822
  def here?(uri); end

  # Set the default ACL to +acl+.
  #
  # See DRb::DRbServer.default_acl.
  #
  # source://drb//lib/drb/drb.rb#1888
  def install_acl(acl); end

  # Set the default id conversion object.
  #
  # This is expected to be an instance such as DRb::DRbIdConv that responds to
  # #to_id and #to_obj that can convert objects to and from DRb references.
  #
  # See DRbServer#default_id_conv.
  #
  # source://drb//lib/drb/drb.rb#1880
  def install_id_conv(idconv); end

  # source://drb//lib/drb/drb.rb#1894
  def mutex; end

  # The primary local dRuby server.
  #
  # This is the server created by the #start_service call.
  #
  # source://drb//lib/drb/drb.rb#1776
  def primary_server; end

  # The primary local dRuby server.
  #
  # This is the server created by the #start_service call.
  #
  # source://drb//lib/drb/drb.rb#1776
  def primary_server=(_arg0); end

  # Registers +server+ with DRb.
  #
  # This is called when a new DRb::DRbServer is created.
  #
  # If there is no primary server then +server+ becomes the primary server.
  #
  # Example:
  #
  #  require 'drb'
  #
  #  s = DRb::DRbServer.new # automatically calls regist_server
  #  DRb.fetch_server s.uri #=> #<DRb::DRbServer:0x...>
  #
  # source://drb//lib/drb/drb.rb#1912
  def regist_server(server); end

  # Removes +server+ from the list of registered servers.
  #
  # source://drb//lib/drb/drb.rb#1921
  def remove_server(server); end

  # Start a dRuby server locally.
  #
  # The new dRuby server will become the primary server, even
  # if another server is currently the primary server.
  #
  # +uri+ is the URI for the server to bind to.  If nil,
  # the server will bind to random port on the default local host
  # name and use the default dRuby protocol.
  #
  # +front+ is the server's front object.  This may be nil.
  #
  # +config+ is the configuration for the new server.  This may
  # be nil.
  #
  # See DRbServer::new.
  #
  # source://drb//lib/drb/drb.rb#1768
  def start_service(uri = T.unsafe(nil), front = T.unsafe(nil), config = T.unsafe(nil)); end

  # Stop the local dRuby server.
  #
  # This operates on the primary server.  If there is no primary
  # server currently running, it is a noop.
  #
  # source://drb//lib/drb/drb.rb#1801
  def stop_service; end

  # Get the thread of the primary server.
  #
  # This returns nil if there is no primary server.  See #primary_server.
  #
  # source://drb//lib/drb/drb.rb#1869
  def thread; end

  # Get a reference id for an object using the current server.
  #
  # This raises a DRbServerNotFound error if there is no current server.
  # See #current_server.
  #
  # source://drb//lib/drb/drb.rb#1860
  def to_id(obj); end

  # Convert a reference into an object using the current server.
  #
  # This raises a DRbServerNotFound error if there is no current server.
  # See #current_server.
  #
  # source://drb//lib/drb/drb.rb#1852
  def to_obj(ref); end

  # Get the URI defining the local dRuby space.
  #
  # This is the URI of the current server.  See #current_server.
  #
  # source://drb//lib/drb/drb.rb#1810
  def uri; end

  class << self
    # Get the configuration of the current server.
    #
    # If there is no current server, this returns the default configuration.
    # See #current_server and DRbServer::make_config.
    #
    # source://drb//lib/drb/drb.rb#1832
    def config; end

    # Get the 'current' server.
    #
    # In the context of execution taking place within the main
    # thread of a dRuby server (typically, as a result of a remote
    # call on the server or one of its objects), the current
    # server is that server.  Otherwise, the current server is
    # the primary server.
    #
    # If the above rule fails to find a server, a DRbServerNotFound
    # error is raised.
    #
    # @raise [DRbServerNotFound]
    #
    # source://drb//lib/drb/drb.rb#1789
    def current_server; end

    # Retrieves the server with the given +uri+.
    #
    # See also regist_server and remove_server.
    #
    # source://drb//lib/drb/drb.rb#1934
    def fetch_server(uri); end

    # Get the front object of the current server.
    #
    # This raises a DRbServerNotFound error if there is no current server.
    # See #current_server.
    #
    # source://drb//lib/drb/drb.rb#1843
    def front; end

    # Is +uri+ the URI for the current local server?
    #
    # @return [Boolean]
    #
    # source://drb//lib/drb/drb.rb#1822
    def here?(uri); end

    # Set the default ACL to +acl+.
    #
    # See DRb::DRbServer.default_acl.
    #
    # source://drb//lib/drb/drb.rb#1888
    def install_acl(acl); end

    # Set the default id conversion object.
    #
    # This is expected to be an instance such as DRb::DRbIdConv that responds to
    # #to_id and #to_obj that can convert objects to and from DRb references.
    #
    # See DRbServer#default_id_conv.
    #
    # source://drb//lib/drb/drb.rb#1880
    def install_id_conv(idconv); end

    # source://drb//lib/drb/drb.rb#1894
    def mutex; end

    # The primary local dRuby server.
    #
    # This is the server created by the #start_service call.
    #
    # source://drb//lib/drb/drb.rb#1776
    def primary_server; end

    # The primary local dRuby server.
    #
    # This is the server created by the #start_service call.
    #
    # source://drb//lib/drb/drb.rb#1776
    def primary_server=(_arg0); end

    # Registers +server+ with DRb.
    #
    # This is called when a new DRb::DRbServer is created.
    #
    # If there is no primary server then +server+ becomes the primary server.
    #
    # Example:
    #
    #  require 'drb'
    #
    #  s = DRb::DRbServer.new # automatically calls regist_server
    #  DRb.fetch_server s.uri #=> #<DRb::DRbServer:0x...>
    #
    # source://drb//lib/drb/drb.rb#1912
    def regist_server(server); end

    # Removes +server+ from the list of registered servers.
    #
    # source://drb//lib/drb/drb.rb#1921
    def remove_server(server); end

    # Start a dRuby server locally.
    #
    # The new dRuby server will become the primary server, even
    # if another server is currently the primary server.
    #
    # +uri+ is the URI for the server to bind to.  If nil,
    # the server will bind to random port on the default local host
    # name and use the default dRuby protocol.
    #
    # +front+ is the server's front object.  This may be nil.
    #
    # +config+ is the configuration for the new server.  This may
    # be nil.
    #
    # See DRbServer::new.
    #
    # source://drb//lib/drb/drb.rb#1768
    def start_service(uri = T.unsafe(nil), front = T.unsafe(nil), config = T.unsafe(nil)); end

    # Stop the local dRuby server.
    #
    # This operates on the primary server.  If there is no primary
    # server currently running, it is a noop.
    #
    # source://drb//lib/drb/drb.rb#1801
    def stop_service; end

    # Get the thread of the primary server.
    #
    # This returns nil if there is no primary server.  See #primary_server.
    #
    # source://drb//lib/drb/drb.rb#1869
    def thread; end

    # Get a reference id for an object using the current server.
    #
    # This raises a DRbServerNotFound error if there is no current server.
    # See #current_server.
    #
    # source://drb//lib/drb/drb.rb#1860
    def to_id(obj); end

    # Convert a reference into an object using the current server.
    #
    # This raises a DRbServerNotFound error if there is no current server.
    # See #current_server.
    #
    # source://drb//lib/drb/drb.rb#1852
    def to_obj(ref); end

    # Get the URI defining the local dRuby space.
    #
    # This is the URI of the current server.  See #current_server.
    #
    # source://drb//lib/drb/drb.rb#1810
    def uri; end
  end
end

# An Array wrapper that can be sent to another server via DRb.
#
# All entries in the array will be dumped or be references that point to
# the local server.
#
# source://drb//lib/drb/drb.rb#518
class DRb::DRbArray
  # Creates a new DRbArray that either dumps or wraps all the items in the
  # Array +ary+ so they can be loaded by a remote DRb server.
  #
  # @return [DRbArray] a new instance of DRbArray
  #
  # source://drb//lib/drb/drb.rb#523
  def initialize(ary); end

  # source://drb//lib/drb/drb.rb#542
  def _dump(lv); end

  class << self
    # source://drb//lib/drb/drb.rb#538
    def _load(s); end
  end
end

# Class handling the connection between a DRbObject and the
# server the real object lives on.
#
# This class maintains a pool of connections, to reduce the
# overhead of starting and closing down connections for each
# method call.
#
# This class is used internally by DRbObject.  The user does
# not normally need to deal with it directly.
#
# source://drb//lib/drb/drb.rb#1256
class DRb::DRbConn
  # @return [DRbConn] a new instance of DRbConn
  #
  # source://drb//lib/drb/drb.rb#1317
  def initialize(remote_uri); end

  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1333
  def alive?; end

  # source://drb//lib/drb/drb.rb#1328
  def close; end

  # source://drb//lib/drb/drb.rb#1323
  def send_message(ref, msg_id, arg, block); end

  # source://drb//lib/drb/drb.rb#1321
  def uri; end

  class << self
    # source://drb//lib/drb/drb.rb#1259
    def make_pool; end

    # source://drb//lib/drb/drb.rb#1297
    def open(remote_uri); end

    # source://drb//lib/drb/drb.rb#1292
    def stop_pool; end
  end
end

# Class responsible for converting between an object and its id.
#
# This, the default implementation, uses an object's local ObjectSpace
# __id__ as its id.  This means that an object's identification over
# drb remains valid only while that object instance remains alive
# within the server runtime.
#
# For alternative mechanisms, see DRb::TimerIdConv in drb/timeridconv.rb
# and DRbNameIdConv in sample/name.rb in the full drb distribution.
#
# source://drb//lib/drb/drb.rb#360
class DRb::DRbIdConv
  # Convert an object into a reference id.
  #
  # This implementation returns the object's __id__ in the local
  # object space.
  #
  # source://drb//lib/drb/drb.rb#374
  def to_id(obj); end

  # Convert an object reference id to an object.
  #
  # This implementation looks up the reference id in the local object
  # space and returns the object it refers to.
  #
  # source://drb//lib/drb/drb.rb#366
  def to_obj(ref); end
end

# Handler for sending and receiving drb messages.
#
# This takes care of the low-level marshalling and unmarshalling
# of drb requests and responses sent over the wire between server
# and client.  This relieves the implementor of a new drb
# protocol layer with having to deal with these details.
#
# The user does not have to directly deal with this object in
# normal use.
#
# source://drb//lib/drb/drb.rb#556
class DRb::DRbMessage
  # @return [DRbMessage] a new instance of DRbMessage
  #
  # source://drb//lib/drb/drb.rb#557
  def initialize(config); end

  # source://drb//lib/drb/drb.rb#562
  def dump(obj, error = T.unsafe(nil)); end

  # @raise [DRbConnError]
  #
  # source://drb//lib/drb/drb.rb#579
  def load(soc); end

  # source://drb//lib/drb/drb.rb#639
  def recv_reply(stream); end

  # @raise [DRbConnError]
  #
  # source://drb//lib/drb/drb.rb#619
  def recv_request(stream); end

  # source://drb//lib/drb/drb.rb#633
  def send_reply(stream, succ, result); end

  # source://drb//lib/drb/drb.rb#605
  def send_request(stream, ref, msg_id, arg, b); end

  private

  # source://drb//lib/drb/drb.rb#646
  def make_proxy(obj, error = T.unsafe(nil)); end
end

# source://drb//lib/drb/eq.rb#3
class DRb::DRbObject
  # Create a new remote object stub.
  #
  # +obj+ is the (local) object we want to create a stub for.  Normally
  # this is +nil+.  +uri+ is the URI of the remote object that this
  # will be a stub for.
  #
  # @return [DRbObject] a new instance of DRbObject
  #
  # source://drb//lib/drb/drb.rb#1089
  def initialize(obj, uri = T.unsafe(nil)); end

  # source://drb//lib/drb/eq.rb#4
  def ==(other); end

  # Get the reference of the object, if local.
  #
  # source://drb//lib/drb/drb.rb#1115
  def __drbref; end

  # Get the URI of the remote object.
  #
  # source://drb//lib/drb/drb.rb#1110
  def __drburi; end

  # Marshall this object.
  #
  # The URI and ref of the object are marshalled.
  #
  # source://drb//lib/drb/drb.rb#1080
  def _dump(lv); end

  # source://drb//lib/drb/eq.rb#4
  def eql?(other); end

  # source://drb//lib/drb/eq.rb#9
  def hash; end

  # source://drb//lib/drb/drb.rb#1135
  def method_missing(msg_id, *a, **_arg2, &b); end

  # source://drb//lib/drb/drb.rb#1187
  def pretty_print(q); end

  # source://drb//lib/drb/drb.rb#1191
  def pretty_print_cycle(q); end

  # Routes respond_to? to the referenced remote object.
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1123
  def respond_to?(msg_id, priv = T.unsafe(nil)); end

  class << self
    # Unmarshall a marshalled DRbObject.
    #
    # If the referenced object is located within the local server, then
    # the object itself is returned.  Otherwise, a new DRbObject is
    # created to act as a stub for the remote referenced object.
    #
    # source://drb//lib/drb/drb.rb#1051
    def _load(s); end

    # Creates a DRb::DRbObject given the reference information to the remote
    # host +uri+ and object +ref+.
    #
    # source://drb//lib/drb/drb.rb#1065
    def new_with(uri, ref); end

    # Create a new DRbObject from a URI alone.
    #
    # source://drb//lib/drb/drb.rb#1073
    def new_with_uri(uri); end

    # Returns a modified backtrace from +result+ with the +uri+ where each call
    # in the backtrace came from.
    #
    # source://drb//lib/drb/drb.rb#1173
    def prepare_backtrace(uri, result); end

    # Given the +uri+ of another host executes the block provided.
    #
    # source://drb//lib/drb/drb.rb#1160
    def with_friend(uri); end
  end
end

# Module managing the underlying network protocol(s) used by drb.
#
# By default, drb uses the DRbTCPSocket protocol.  Other protocols
# can be defined.  A protocol must define the following class methods:
#
#   [open(uri, config)] Open a client connection to the server at +uri+,
#                       using configuration +config+.  Return a protocol
#                       instance for this connection.
#   [open_server(uri, config)] Open a server listening at +uri+,
#                              using configuration +config+.  Return a
#                              protocol instance for this listener.
#   [uri_option(uri, config)] Take a URI, possibly containing an option
#                             component (e.g. a trailing '?param=val'),
#                             and return a [uri, option] tuple.
#
# All of these methods should raise a DRbBadScheme error if the URI
# does not identify the protocol they support (e.g. "druby:" for
# the standard Ruby protocol).  This is how the DRbProtocol module,
# given a URI, determines which protocol implementation serves that
# protocol.
#
# The protocol instance returned by #open_server must have the
# following methods:
#
# [accept] Accept a new connection to the server.  Returns a protocol
#          instance capable of communicating with the client.
# [close] Close the server connection.
# [uri] Get the URI for this server.
#
# The protocol instance returned by #open must have the following methods:
#
# [send_request (ref, msg_id, arg, b)]
#      Send a request to +ref+ with the given message id and arguments.
#      This is most easily implemented by calling DRbMessage.send_request,
#      providing a stream that sits on top of the current protocol.
# [recv_reply]
#      Receive a reply from the server and return it as a [success-boolean,
#      reply-value] pair.  This is most easily implemented by calling
#      DRb.recv_reply, providing a stream that sits on top of the
#      current protocol.
# [alive?]
#      Is this connection still alive?
# [close]
#      Close this connection.
#
# The protocol instance returned by #open_server().accept() must have
# the following methods:
#
# [recv_request]
#     Receive a request from the client and return a [object, message,
#     args, block] tuple.  This is most easily implemented by calling
#     DRbMessage.recv_request, providing a stream that sits on top of
#     the current protocol.
# [send_reply(succ, result)]
#     Send a reply to the client.  This is most easily implemented
#     by calling DRbMessage.send_reply, providing a stream that sits
#     on top of the current protocol.
# [close]
#     Close this connection.
#
# A new protocol is registered with the DRbProtocol module using
# the add_protocol method.
#
# For examples of other protocols, see DRbUNIXSocket in drb/unix.rb,
# and HTTP0 in sample/http0.rb and sample/http0serv.rb in the full
# drb distribution.
#
# source://drb//lib/drb/drb.rb#721
module DRb::DRbProtocol
  private

  # Add a new protocol to the DRbProtocol module.
  #
  # source://drb//lib/drb/drb.rb#724
  def add_protocol(prot); end

  # source://drb//lib/drb/drb.rb#802
  def auto_load(uri); end

  # Open a client connection to +uri+ with the configuration +config+.
  #
  # The DRbProtocol module asks each registered protocol in turn to
  # try to open the URI.  Each protocol signals that it does not handle that
  # URI by raising a DRbBadScheme error.  If no protocol recognises the
  # URI, then a DRbBadURI error is raised.  If a protocol accepts the
  # URI, but an error occurs in opening it, a DRbConnError is raised.
  #
  # @raise [DRbBadURI]
  #
  # source://drb//lib/drb/drb.rb#736
  def open(uri, config, first = T.unsafe(nil)); end

  # Open a server listening for connections at +uri+ with
  # configuration +config+.
  #
  # The DRbProtocol module asks each registered protocol in turn to
  # try to open a server at the URI.  Each protocol signals that it does
  # not handle that URI by raising a DRbBadScheme error.  If no protocol
  # recognises the URI, then a DRbBadURI error is raised.  If a protocol
  # accepts the URI, but an error occurs in opening it, the underlying
  # error is passed on to the caller.
  #
  # @raise [DRbBadURI]
  #
  # source://drb//lib/drb/drb.rb#764
  def open_server(uri, config, first = T.unsafe(nil)); end

  # Parse +uri+ into a [uri, option] pair.
  #
  # The DRbProtocol module asks each registered protocol in turn to
  # try to parse the URI.  Each protocol signals that it does not handle that
  # URI by raising a DRbBadScheme error.  If no protocol recognises the
  # URI, then a DRbBadURI error is raised.
  #
  # @raise [DRbBadURI]
  #
  # source://drb//lib/drb/drb.rb#785
  def uri_option(uri, config, first = T.unsafe(nil)); end

  class << self
    # Add a new protocol to the DRbProtocol module.
    #
    # source://drb//lib/drb/drb.rb#724
    def add_protocol(prot); end

    # source://drb//lib/drb/drb.rb#802
    def auto_load(uri); end

    # Open a client connection to +uri+ with the configuration +config+.
    #
    # The DRbProtocol module asks each registered protocol in turn to
    # try to open the URI.  Each protocol signals that it does not handle that
    # URI by raising a DRbBadScheme error.  If no protocol recognises the
    # URI, then a DRbBadURI error is raised.  If a protocol accepts the
    # URI, but an error occurs in opening it, a DRbConnError is raised.
    #
    # @raise [DRbBadURI]
    #
    # source://drb//lib/drb/drb.rb#736
    def open(uri, config, first = T.unsafe(nil)); end

    # Open a server listening for connections at +uri+ with
    # configuration +config+.
    #
    # The DRbProtocol module asks each registered protocol in turn to
    # try to open a server at the URI.  Each protocol signals that it does
    # not handle that URI by raising a DRbBadScheme error.  If no protocol
    # recognises the URI, then a DRbBadURI error is raised.  If a protocol
    # accepts the URI, but an error occurs in opening it, the underlying
    # error is passed on to the caller.
    #
    # @raise [DRbBadURI]
    #
    # source://drb//lib/drb/drb.rb#764
    def open_server(uri, config, first = T.unsafe(nil)); end

    # Parse +uri+ into a [uri, option] pair.
    #
    # The DRbProtocol module asks each registered protocol in turn to
    # try to parse the URI.  Each protocol signals that it does not handle that
    # URI by raising a DRbBadScheme error.  If no protocol recognises the
    # URI, then a DRbBadURI error is raised.
    #
    # @raise [DRbBadURI]
    #
    # source://drb//lib/drb/drb.rb#785
    def uri_option(uri, config, first = T.unsafe(nil)); end
  end
end

# An exception wrapping an error object
#
# source://drb//lib/drb/drb.rb#431
class DRb::DRbRemoteError < ::DRb::DRbError
  # Creates a new remote error that wraps the Exception +error+
  #
  # @return [DRbRemoteError] a new instance of DRbRemoteError
  #
  # source://drb//lib/drb/drb.rb#434
  def initialize(error); end

  # the class of the error, as a string.
  #
  # source://drb//lib/drb/drb.rb#441
  def reason; end
end

# source://drb//lib/drb/drb.rb#1350
class DRb::DRbServer
  # Create a new DRbServer instance.
  #
  # +uri+ is the URI to bind to.  This is normally of the form
  # 'druby://<hostname>:<port>' where <hostname> is a hostname of
  # the local machine.  If nil, then the system's default hostname
  # will be bound to, on a port selected by the system; these value
  # can be retrieved from the +uri+ attribute.  'druby:' specifies
  # the default dRuby transport protocol: another protocol, such
  # as 'drbunix:', can be specified instead.
  #
  # +front+ is the front object for the server, that is, the object
  # to which remote method calls on the server will be passed.  If
  # nil, then the server will not accept remote method calls.
  #
  # If +config_or_acl+ is a hash, it is the configuration to
  # use for this server.  The following options are recognised:
  #
  # :idconv :: an id-to-object conversion object.  This defaults
  #            to an instance of the class DRb::DRbIdConv.
  # :verbose :: if true, all unsuccessful remote calls on objects
  #             in the server will be logged to $stdout. false
  #             by default.
  # :tcp_acl :: the access control list for this server.  See
  #             the ACL class from the main dRuby distribution.
  # :load_limit :: the maximum message size in bytes accepted by
  #                the server.  Defaults to 25 MB (26214400).
  # :argc_limit :: the maximum number of arguments to a remote
  #                method accepted by the server.  Defaults to
  #                256.
  # The default values of these options can be modified on
  # a class-wide basis by the class methods #default_argc_limit,
  # #default_load_limit, #default_acl, #default_id_conv,
  # and #verbose=
  #
  # If +config_or_acl+ is not a hash, but is not nil, it is
  # assumed to be the access control list for this server.
  # See the :tcp_acl option for more details.
  #
  # If no other server is currently set as the primary server,
  # this will become the primary server.
  #
  # The server will immediately start running in its own thread.
  #
  # @return [DRbServer] a new instance of DRbServer
  #
  # source://drb//lib/drb/drb.rb#1451
  def initialize(uri = T.unsafe(nil), front = T.unsafe(nil), config_or_acl = T.unsafe(nil)); end

  # Is this server alive?
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1506
  def alive?; end

  # Check that a method is callable via dRuby.
  #
  # +obj+ is the object we want to invoke the method on. +msg_id+ is the
  # method name, as a Symbol.
  #
  # If the method is an insecure method (see #insecure_method?) a
  # SecurityError is thrown.  If the method is private or undefined,
  # a NameError is thrown.
  #
  # @raise [ArgumentError]
  #
  # source://drb//lib/drb/drb.rb#1594
  def check_insecure_method(obj, msg_id); end

  # The configuration of this DRbServer
  #
  # source://drb//lib/drb/drb.rb#1493
  def config; end

  # The front object of the DRbServer.
  #
  # This object receives remote method calls made on the server's
  # URI alone, with an object id.
  #
  # source://drb//lib/drb/drb.rb#1490
  def front; end

  # Is +uri+ the URI for this server?
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1511
  def here?(uri); end

  # Stop this server.
  #
  # source://drb//lib/drb/drb.rb#1516
  def stop_service; end

  # The main thread of this DRbServer.
  #
  # This is the thread that listens for and accepts connections
  # from clients, not that handles each client's request-response
  # session.
  #
  # source://drb//lib/drb/drb.rb#1484
  def thread; end

  # Convert a local object to a dRuby reference.
  #
  # source://drb//lib/drb/drb.rb#1533
  def to_id(obj); end

  # Convert a dRuby reference to the local object it refers to.
  #
  # source://drb//lib/drb/drb.rb#1526
  def to_obj(ref); end

  # The URI of this DRbServer.
  #
  # source://drb//lib/drb/drb.rb#1477
  def uri; end

  # Get whether the server is in verbose mode.
  #
  # In verbose mode, failed calls are logged to stdout.
  #
  # source://drb//lib/drb/drb.rb#1503
  def verbose; end

  # Set whether to operate in verbose mode.
  #
  # In verbose mode, failed calls are logged to stdout.
  #
  # source://drb//lib/drb/drb.rb#1498
  def verbose=(v); end

  private

  # Coerce an object to a string, providing our own representation if
  # to_s is not defined for the object.
  #
  # source://drb//lib/drb/drb.rb#1580
  def any_to_s(obj); end

  # source://drb//lib/drb/drb.rb#1696
  def error_print(exception); end

  # Has a method been included in the list of insecure methods?
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1574
  def insecure_method?(msg_id); end

  # The main loop performed by a DRbServer's internal thread.
  #
  # Accepts a connection from a client, and starts up its own
  # thread to handle it.  This thread loops, receiving requests
  # from the client, invoking them on a local object, and
  # returning responses, until the client closes the connection
  # or a local method call fails.
  #
  # source://drb//lib/drb/drb.rb#1714
  def main_loop; end

  # Starts the DRb main loop in a new thread.
  #
  # source://drb//lib/drb/drb.rb#1555
  def run; end

  # source://drb//lib/drb/drb.rb#1540
  def shutdown; end

  class << self
    # Set the default access control list to +acl+.  The default ACL is +nil+.
    #
    # See also DRb::ACL and #new()
    #
    # source://drb//lib/drb/drb.rb#1375
    def default_acl(acl); end

    # Set the default value for the :argc_limit option.
    #
    # See #new().  The initial default value is 256.
    #
    # source://drb//lib/drb/drb.rb#1361
    def default_argc_limit(argc); end

    # Set the default value for the :id_conv option.
    #
    # See #new().  The initial default value is a DRbIdConv instance.
    #
    # source://drb//lib/drb/drb.rb#1382
    def default_id_conv(idconv); end

    # Set the default value for the :load_limit option.
    #
    # See #new().  The initial default value is 25 MB.
    #
    # source://drb//lib/drb/drb.rb#1368
    def default_load_limit(sz); end

    # source://drb//lib/drb/drb.rb#1398
    def make_config(hash = T.unsafe(nil)); end

    # Get the default value of the :verbose option.
    #
    # source://drb//lib/drb/drb.rb#1394
    def verbose; end

    # Set the default value of the :verbose option.
    #
    # See #new().  The initial default value is false.
    #
    # source://drb//lib/drb/drb.rb#1389
    def verbose=(on); end
  end
end

# source://drb//lib/drb/drb.rb#1624
class DRb::DRbServer::InvokeMethod
  include ::DRb::DRbServer::InvokeMethod18Mixin

  # @return [InvokeMethod] a new instance of InvokeMethod
  #
  # source://drb//lib/drb/drb.rb#1625
  def initialize(drb_server, client); end

  # source://drb//lib/drb/drb.rb#1630
  def perform; end

  private

  # source://drb//lib/drb/drb.rb#1667
  def check_insecure_method; end

  # source://drb//lib/drb/drb.rb#1659
  def init_with_client; end

  # source://drb//lib/drb/drb.rb#1676
  def perform_without_block; end

  # source://drb//lib/drb/drb.rb#1671
  def setup_message; end
end

# source://drb//lib/drb/invokemethod.rb#6
module DRb::DRbServer::InvokeMethod18Mixin
  # source://drb//lib/drb/invokemethod.rb#7
  def block_yield(x); end

  # source://drb//lib/drb/invokemethod.rb#14
  def perform_with_block; end
end

# The default drb protocol which communicates over a TCP socket.
#
# The DRb TCP protocol URI looks like:
# <code>druby://<host>:<port>?<option></code>.  The option is optional.
#
# source://drb//lib/drb/drb.rb#815
class DRb::DRbTCPSocket
  # Create a new DRbTCPSocket instance.
  #
  # +uri+ is the URI we are connected to.
  # +soc+ is the tcp socket we are bound to.  +config+ is our
  # configuration.
  #
  # @return [DRbTCPSocket] a new instance of DRbTCPSocket
  #
  # source://drb//lib/drb/drb.rb#903
  def initialize(uri, soc, config = T.unsafe(nil)); end

  # On the server side, for an instance returned by #open_server,
  # accept a client connection and return a new instance to handle
  # the server's side of this client-server session.
  #
  # source://drb//lib/drb/drb.rb#971
  def accept; end

  # Check to see if this connection is alive.
  #
  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1001
  def alive?; end

  # Close the connection.
  #
  # If this is an instance returned by #open_server, then this stops
  # listening for new connections altogether.  If this is an instance
  # returned by #open or by #accept, then it closes this particular
  # client-server session.
  #
  # source://drb//lib/drb/drb.rb#953
  def close; end

  # Get the address of our TCP peer (the other end of the socket
  # we are bound to.
  #
  # source://drb//lib/drb/drb.rb#918
  def peeraddr; end

  # On the client side, receive a reply from the server.
  #
  # source://drb//lib/drb/drb.rb#941
  def recv_reply; end

  # On the server side, receive a request from the client.
  #
  # source://drb//lib/drb/drb.rb#931
  def recv_request; end

  # On the server side, send a reply to the client.
  #
  # source://drb//lib/drb/drb.rb#936
  def send_reply(succ, result); end

  # On the client side, send a request to the server.
  #
  # source://drb//lib/drb/drb.rb#926
  def send_request(ref, msg_id, arg, b); end

  # source://drb//lib/drb/drb.rb#1010
  def set_sockopt(soc); end

  # Graceful shutdown
  #
  # source://drb//lib/drb/drb.rb#996
  def shutdown; end

  # Get the socket.
  #
  # source://drb//lib/drb/drb.rb#923
  def stream; end

  # Get the URI that we are connected to.
  #
  # source://drb//lib/drb/drb.rb#914
  def uri; end

  private

  # source://drb//lib/drb/drb.rb#986
  def accept_or_shutdown; end

  # source://drb//lib/drb/drb.rb#962
  def close_shutdown_pipe; end

  class << self
    # Returns the hostname of this server
    #
    # source://drb//lib/drb/drb.rb#845
    def getservername; end

    # Open a client connection to +uri+ (DRb URI string) using configuration
    # +config+.
    #
    # This can raise DRb::DRbBadScheme or DRb::DRbBadURI if +uri+ is not for a
    # recognized protocol.  See DRb::DRbServer.new for information on built-in
    # URI protocols.
    #
    # source://drb//lib/drb/drb.rb#838
    def open(uri, config); end

    # Open a server listening for connections at +uri+ using
    # configuration +config+.
    #
    # source://drb//lib/drb/drb.rb#876
    def open_server(uri, config); end

    # For the families available for +host+, returns a TCPServer on +port+.
    # If +port+ is 0 the first available port is used.  IPv4 servers are
    # preferred over IPv6 servers.
    #
    # source://drb//lib/drb/drb.rb#861
    def open_server_inaddr_any(host, port); end

    # source://drb//lib/drb/drb.rb#818
    def parse_uri(uri); end

    # Parse +uri+ into a [uri, option] pair.
    #
    # source://drb//lib/drb/drb.rb#893
    def uri_option(uri, config); end
  end
end

# Implements DRb over a UNIX socket
#
# DRb UNIX socket URIs look like <code>drbunix:<path>?<option></code>.  The
# option is optional.
#
# source://drb//lib/drb/unix.rb#15
class DRb::DRbUNIXSocket < ::DRb::DRbTCPSocket
  # @return [DRbUNIXSocket] a new instance of DRbUNIXSocket
  #
  # source://drb//lib/drb/unix.rb#62
  def initialize(uri, soc, config = T.unsafe(nil), server_mode = T.unsafe(nil)); end

  # source://drb//lib/drb/unix.rb#105
  def accept; end

  # source://drb//lib/drb/unix.rb#95
  def close; end

  # source://drb//lib/drb/unix.rb#111
  def set_sockopt(soc); end

  class << self
    # source://drb//lib/drb/unix.rb#28
    def open(uri, config); end

    # source://drb//lib/drb/unix.rb#34
    def open_server(uri, config); end

    # :stopdoc:
    #
    # source://drb//lib/drb/unix.rb#17
    def parse_uri(uri); end

    # source://drb//lib/drb/unix.rb#72
    def temp_server; end

    # source://drb//lib/drb/unix.rb#57
    def uri_option(uri, config); end
  end
end

# import from tempfile.rb
#
# source://drb//lib/drb/unix.rb#70
DRb::DRbUNIXSocket::Max_try = T.let(T.unsafe(nil), Integer)

# source://drb//lib/drb/drb.rb#1021
class DRb::DRbURIOption
  # @return [DRbURIOption] a new instance of DRbURIOption
  #
  # source://drb//lib/drb/drb.rb#1022
  def initialize(option); end

  # source://drb//lib/drb/drb.rb#1028
  def ==(other); end

  # source://drb//lib/drb/drb.rb#1028
  def eql?(other); end

  # source://drb//lib/drb/drb.rb#1033
  def hash; end

  # Returns the value of attribute option.
  #
  # source://drb//lib/drb/drb.rb#1025
  def option; end

  # source://drb//lib/drb/drb.rb#1026
  def to_s; end
end

# Mixin module making an object undumpable or unmarshallable.
#
# If an object which includes this module is returned by method
# called over drb, then the object remains in the server space
# and a reference to the object is returned, rather than the
# object being marshalled and moved into the client space.
#
# source://drb//lib/drb/drb.rb#390
module DRb::DRbUndumped
  # @raise [TypeError]
  #
  # source://drb//lib/drb/drb.rb#391
  def _dump(dummy); end
end

# Class wrapping a marshalled object whose type is unknown locally.
#
# If an object is returned by a method invoked over drb, but the
# class of the object is unknown in the client namespace, or
# the object is a constant unknown in the client namespace, then
# the still-marshalled object is returned wrapped in a DRbUnknown instance.
#
# If this object is passed as an argument to a method invoked over
# drb, then the wrapped object is passed instead.
#
# The class or constant name of the object can be read from the
# +name+ attribute.  The marshalled object is held in the +buf+
# attribute.
#
# source://drb//lib/drb/drb.rb#457
class DRb::DRbUnknown
  # Create a new DRbUnknown object.
  #
  # +buf+ is a string containing a marshalled object that could not
  # be unmarshalled.  +err+ is the error message that was raised
  # when the unmarshalling failed.  It is used to determine the
  # name of the unmarshalled object.
  #
  # @return [DRbUnknown] a new instance of DRbUnknown
  #
  # source://drb//lib/drb/drb.rb#465
  def initialize(err, buf); end

  # source://drb//lib/drb/drb.rb#494
  def _dump(lv); end

  # Buffer contained the marshalled, unknown object.
  #
  # source://drb//lib/drb/drb.rb#484
  def buf; end

  # Create a DRbUnknownError exception containing this object.
  #
  # source://drb//lib/drb/drb.rb#508
  def exception; end

  # The name of the unknown thing.
  #
  # Class name for unknown objects; variable name for unknown
  # constants.
  #
  # source://drb//lib/drb/drb.rb#481
  def name; end

  # Attempt to load the wrapped marshalled object again.
  #
  # If the class of the object is now known locally, the object
  # will be unmarshalled and returned.  Otherwise, a new
  # but identical DRbUnknown object will be returned.
  #
  # source://drb//lib/drb/drb.rb#503
  def reload; end

  class << self
    # source://drb//lib/drb/drb.rb#486
    def _load(s); end
  end
end

# An exception wrapping a DRb::DRbUnknown object
#
# source://drb//lib/drb/drb.rb#410
class DRb::DRbUnknownError < ::DRb::DRbError
  # Create a new DRbUnknownError for the DRb::DRbUnknown object +unknown+
  #
  # @return [DRbUnknownError] a new instance of DRbUnknownError
  #
  # source://drb//lib/drb/drb.rb#413
  def initialize(unknown); end

  # source://drb//lib/drb/drb.rb#425
  def _dump(lv); end

  # Get the wrapped DRb::DRbUnknown object.
  #
  # source://drb//lib/drb/drb.rb#419
  def unknown; end

  class << self
    # source://drb//lib/drb/drb.rb#421
    def _load(s); end
  end
end

# source://drb//lib/drb/drb.rb#1199
class DRb::ThreadObject
  include ::MonitorMixin

  # @return [ThreadObject] a new instance of ThreadObject
  #
  # source://drb//lib/drb/drb.rb#1202
  def initialize(&blk); end

  # source://drb//lib/drb/drb.rb#1237
  def _execute; end

  # @return [Boolean]
  #
  # source://drb//lib/drb/drb.rb#1213
  def alive?; end

  # source://drb//lib/drb/drb.rb#1217
  def kill; end

  # source://drb//lib/drb/drb.rb#1222
  def method_missing(msg, *arg, &blk); end
end

# source://drb//lib/drb/version.rb#2
DRb::VERSION = T.let(T.unsafe(nil), String)

# source://drb//lib/drb/drb.rb#1943
DRbIdConv = DRb::DRbIdConv

# :stopdoc:
#
# source://drb//lib/drb/drb.rb#1941
DRbObject = DRb::DRbObject

# source://drb//lib/drb/drb.rb#1942
DRbUndumped = DRb::DRbUndumped