org.acplt.oncrpc.apps.jportmap
Class OncRpcEmbeddedPortmap.embeddedjportmap

java.lang.Object
  extended by org.acplt.oncrpc.server.OncRpcServerStub
      extended by org.acplt.oncrpc.apps.jportmap.jportmap
          extended by org.acplt.oncrpc.apps.jportmap.OncRpcEmbeddedPortmap.embeddedjportmap
All Implemented Interfaces:
OncRpcDispatchable
Enclosing class:
OncRpcEmbeddedPortmap

 class OncRpcEmbeddedPortmap.embeddedjportmap
extends jportmap

Extend the portmap service so that it automatically takes itself out of service when the last ONC/RPC programs is deregistered.


Field Summary
protected  java.lang.Thread serviceThread
          Thread running the embedded portmap service.
 
Fields inherited from class org.acplt.oncrpc.apps.jportmap.jportmap
locals, PMAP_PORT, PMAP_PROGRAM, PMAP_VERSION, servers
 
Fields inherited from class org.acplt.oncrpc.server.OncRpcServerStub
info, shutdownSignal, transports
 
Constructor Summary
OncRpcEmbeddedPortmap.embeddedjportmap()
          Creates a new instance of an embeddable portmap service.
 
Method Summary
(package private)  XdrBoolean unsetPort(OncRpcServerIdent params)
          Deregister all port settings for a particular (program, version) for all transports (TCP, UDP, ...).
 
Methods inherited from class org.acplt.oncrpc.apps.jportmap.jportmap
dispatchOncRpcCall, getPort, isLocalAddress, listServers, main, setPort
 
Methods inherited from class org.acplt.oncrpc.server.OncRpcServerStub
close, getCharacterEncoding, register, run, run, setCharacterEncoding, stopRpcProcessing, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serviceThread

protected java.lang.Thread serviceThread
Thread running the embedded portmap service.

Constructor Detail

OncRpcEmbeddedPortmap.embeddedjportmap

public OncRpcEmbeddedPortmap.embeddedjportmap()
                                       throws java.io.IOException,
                                              OncRpcException
Creates a new instance of an embeddable portmap service.

Throws:
java.io.IOException
OncRpcException
Method Detail

unsetPort

XdrBoolean unsetPort(OncRpcServerIdent params)
Deregister all port settings for a particular (program, version) for all transports (TCP, UDP, ...). This method basically falls back to the implementation provided by the jrpcgen superclass, but checks whether there are other ONC/RPC programs registered. If not, it signals itself to shut down the portmap service.

Overrides:
unsetPort in class jportmap
Parameters:
params - (program, version) to deregister. The protocol and port fields are not used.
Returns:
true if deregistration succeeded.