/** * @param favoredNodes The PB'ed bytes of favored nodes * @return the array of {@link ServerName} for the byte array of favored nodes. * @throws InvalidProtocolBufferException */ public static ServerName[] getFavoredNodesList(byte[] favoredNodes) throws InvalidProtocolBufferException { FavoredNodes f = FavoredNodes.parseFrom(favoredNodes); List<HBaseProtos.ServerName> protoNodes = f.getFavoredNodeList(); ServerName[] servers = new ServerName[protoNodes.size()]; int i = 0; for (HBaseProtos.ServerName node : protoNodes) { servers[i++] = ProtobufUtil.toServerName(node); } return servers; }
/** * @param serverAddrList * @return PB'ed bytes of {@link FavoredNodes} generated by the server list. */ public static byte[] getFavoredNodes(List<ServerName> serverAddrList) { FavoredNodes.Builder f = FavoredNodes.newBuilder(); for (ServerName s : serverAddrList) { HBaseProtos.ServerName.Builder b = HBaseProtos.ServerName.newBuilder(); b.setHostName(s.getHostname()); b.setPort(s.getPort()); b.setStartCode(s.getStartcode()); f.addFavoredNode(b.build()); } return f.build().toByteArray(); }