Package 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `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 | Description
    --- | ---
    `embeddedjportmap()` | Creates a new instance of an embeddable portmap service.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `(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

    - #### embeddedjportmap

          public 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.