VersionedProtocol (Apache Hadoop Common 3.5.0 API)
Description: declaration: package: org.apache.hadoop.ipc, interface: VersionedProtocol

Package org.apache.hadoop.ipc

# Interface VersionedProtocol

All Known Subinterfaces:
  `HAServiceProtocolPB`, `ZKFCProtocolPB`

All Known Implementing Classes:
  `HAServiceProtocolServerSideTranslatorPB`, `ZKFCProtocolServerSideTranslatorPB`

public interface VersionedProtocol
Superclass of all protocols that use Hadoop RPC. Subclasses of this interface are also supposed to have a static final long versionID field.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ProtocolSignature`
  `getProtocolSignature(String protocol, long clientVersion, int clientMethodsHash)`
  Return protocol version corresponding to protocol interface.
  `long`
  `getProtocolVersion(String protocol, long clientVersion)`
  Return protocol version corresponding to protocol interface.

- ## Method Details

  - ### getProtocolVersion

    long getProtocolVersion(String protocol, long clientVersion) throws IOException
    Return protocol version corresponding to protocol interface.
    Parameters:
      `protocol` - The classname of the protocol interface
      `clientVersion` - The version of the protocol that the client speaks
    Returns:
      the version that the server will speak
    Throws:
      `IOException` - if any IO error occurs

  - ### getProtocolSignature

    ProtocolSignature getProtocolSignature(String protocol, long clientVersion, int clientMethodsHash) throws IOException
    Return protocol version corresponding to protocol interface.
    Parameters:
      `protocol` - The classname of the protocol interface
      `clientVersion` - The version of the protocol that the client speaks
      `clientMethodsHash` - the hashcode of client protocol methods
    Returns:
      the server protocol signature containing its version and a list of its supported methods
    Throws:
      `IOException` - raised on errors performing I/O.
    See Also:
      - `for a default implementation`