当前位置: 首页>>代码示例>>Java>>正文


Java GetProtocolSignatureRequestProto.newBuilder方法代码示例

本文整理汇总了Java中org.apache.hadoop.ipc.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto.newBuilder方法的典型用法代码示例。如果您正苦于以下问题:Java GetProtocolSignatureRequestProto.newBuilder方法的具体用法?Java GetProtocolSignatureRequestProto.newBuilder怎么用?Java GetProtocolSignatureRequestProto.newBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.ipc.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto的用法示例。


在下文中一共展示了GetProtocolSignatureRequestProto.newBuilder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createGetProtocolSigRequestProto

import org.apache.hadoop.ipc.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto; //导入方法依赖的package包/类
private GetProtocolSignatureRequestProto createGetProtocolSigRequestProto(
    Class<?> protocol, RPC.RpcKind rpcKind) {
  GetProtocolSignatureRequestProto.Builder builder = 
      GetProtocolSignatureRequestProto.newBuilder();
  builder.setProtocol(protocol.getName());
  builder.setRpcKind(rpcKind.toString());
  return builder.build();
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:9,代码来源:TestRPCCompatibility.java

示例2: isMethodSupported

import org.apache.hadoop.ipc.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto; //导入方法依赖的package包/类
/**
 * Returns whether the given method is supported or not.
 * The protocol signatures are fetched and cached. The connection id for the
 * proxy provided is re-used.
 * @param rpcProxy Proxy which provides an existing connection id.
 * @param protocol Protocol for which the method check is required.
 * @param rpcKind The RpcKind for which the method check is required.
 * @param version The version at the client.
 * @param methodName Name of the method.
 * @return true if the method is supported, false otherwise.
 * @throws IOException
 */
public static boolean isMethodSupported(Object rpcProxy, Class<?> protocol,
    RPC.RpcKind rpcKind, long version, String methodName) throws IOException {
  InetSocketAddress serverAddress = RPC.getServerAddress(rpcProxy);
  Map<Long, ProtocolSignature> versionMap = getVersionSignatureMap(
      serverAddress, protocol.getName(), rpcKind.toString());

  if (versionMap == null) {
    Configuration conf = new Configuration();
    RPC.setProtocolEngine(conf, ProtocolMetaInfoPB.class,
        ProtobufRpcEngine.class);
    ProtocolMetaInfoPB protocolInfoProxy = getProtocolMetaInfoProxy(rpcProxy,
        conf);
    GetProtocolSignatureRequestProto.Builder builder = 
        GetProtocolSignatureRequestProto.newBuilder();
    builder.setProtocol(protocol.getName());
    builder.setRpcKind(rpcKind.toString());
    GetProtocolSignatureResponseProto resp;
    try {
      resp = protocolInfoProxy.getProtocolSignature(NULL_CONTROLLER,
          builder.build());
    } catch (ServiceException se) {
      throw ProtobufHelper.getRemoteException(se);
    }
    versionMap = convertProtocolSignatureProtos(resp
        .getProtocolSignatureList());
    putVersionSignatureMap(serverAddress, protocol.getName(),
        rpcKind.toString(), versionMap);
  }
  // Assuming unique method names.
  Method desiredMethod;
  Method[] allMethods = protocol.getMethods();
  desiredMethod = null;
  for (Method m : allMethods) {
    if (m.getName().equals(methodName)) {
      desiredMethod = m;
      break;
    }
  }
  if (desiredMethod == null) {
    return false;
  }
  int methodHash = ProtocolSignature.getFingerprint(desiredMethod);
  return methodExists(methodHash, version, versionMap);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:57,代码来源:RpcClientUtil.java


注:本文中的org.apache.hadoop.ipc.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto.newBuilder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。