org.acplt.oncrpc.apps.jportmap

## Class OncRpcEmbeddedPortmap.embeddedjportmap

- java.lang.Object
- - org.acplt.oncrpc.server.OncRpcServerStub
  - - org.acplt.oncrpc.apps.jportmap.jportmap
    - - 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

Fields
`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

Constructors
Constructor and Description
`OncRpcEmbeddedPortmap.embeddedjportmap()` Creates a new instance of an embeddable portmap service.

### Method Summary

Methods
`(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.