要約
DRb::ExtServManager で使われるサービスを定義しているクラスです。
目次
- 特異メソッド
- インスタンスメソッド
継承しているメソッド
特異メソッド
- new(there, name, server=nil) -> DRb::ExtServ[permalink][rdoc][edit]
- 
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 が用いられます。 - [PARAM] there:
- サービスを管理しているプロセスの drb URI
- [PARAM] name:
- サービスの名前
- [PARAM] server:
- DRb::DRbServer オブジェクト
 
インスタンスメソッド
- alive? -> bool[permalink][rdoc][edit]
- 
サービスが起動しているならば真を返します。 リモート側からこのメソッドを呼ぶのはあまり意味がありません。サービスを停止するとリモートメソッド呼び出しができなくなるためです。 
- front -> object[permalink][rdoc][edit]
- 
サービスの窓口となるオブジェクトを返します。 実際には、DRb::ExtServ.new の server で指定した DRb::DRbServer オブジェクトの DRb::DRbServer#front が返されます。 
- server -> DRb::DRbServer[permalink][rdoc][edit]
- 
通信に利用しているサーバを返します。 DRb::ExtServ.new で指定した DRb::DRbServer を返します。 
- stop_service -> true[permalink][rdoc][edit]
- 
サービスを停止します。 DRb::ExtServManager オブジェクトにサービスの停止を伝達し、 DRb::DRbServer#stop_service でサーバを停止します。 このメソッドはリモートから起動することができます。サーバが停止するため、停止したサービスのリモートオブジェクトは利用できなくなります。また、サーバの停止により接続を待ち受けているスレッドが停止します。 サービス停止後、 DRb::ExtServManager#service で同じ名前のサービスを要求すると、別のプロセスが起動します。