Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > drb/extservライブラリ > DRb::ExtServクラス
クラスの継承リスト: DRb::ExtServ < DRb::DRbUndumped < Object < Kernel < BasicObject
DRb::ExtServManager で使われるサービスを定義しているクラスです。
new(there, name, server=nil) -> DRb::ExtServ
[permalink][rdoc]DRb::ExtServ オブジェクトを生成し、サービスを DRb::ExtServManager オブジェクトに登録します。
there で指定した URI の front オブジェクト(これは DRb::ExtServManager の インスタンスであるべきです)に name という名前でサービスを登録します。
there, name は Object::ARGV の末尾2つを渡してください。
server には drb の通信に用いる DRb::DRbServer オブジェクトを指定します。 省略した場合は DRb.#primary_server を用います。 DRb::ExtServ#front が返すオブジェクトはこのサーバの DRb::DRbServer#front が用いられます。
alive? -> bool
[permalink][rdoc]サービスが起動しているならば真を返します。
リモート側からこのメソッドを呼ぶのはあまり意味がありません。 サービスを停止するとリモートメソッド呼び出しができなくなるためです。
front -> object
[permalink][rdoc]サービスの窓口となるオブジェクトを返します。
実際には、DRb::ExtServ.new の server で指定した DRb::DRbServer オブジェクトの DRb::DRbServer#front が返されます。
server -> DRb::DRbServer
[permalink][rdoc]通信に利用しているサーバを返します。
DRb::ExtServ.new で指定した DRb::DRbServer を返します。
stop_service -> true
[permalink][rdoc]サービスを停止します。
DRb::ExtServManager オブジェクトにサービスの停止を伝達し、 DRb::DRbServer#stop_service でサーバを停止します。
このメソッドはリモートから起動することができます。 サーバが停止するため、停止したサービスのリモートオブジェクトは 利用できなくなります。また、サーバの停止により 接続を待ち受けているスレッドが停止します。
サービス停止後、 DRb::ExtServManager#service で同じ名前のサービスを要求すると、 別のプロセスが起動します。