use of com.tencent.angel.protobuf.generated.PSMasterServiceProtos.PSRegisterResponse in project angel by Tencent.
the class MasterService method psRegister.
/**
* response for parameter server register.
*
* @param controller rpc controller of protobuf
* @param request register request
*/
@SuppressWarnings("unchecked")
@Override
public PSRegisterResponse psRegister(RpcController controller, PSRegisterRequest request) throws ServiceException {
if (LOG.isDebugEnabled()) {
LOG.debug("receive ps register request. request=" + request);
}
PSAttemptId psAttemptId = ProtobufUtil.convertToId(request.getPsAttemptId());
PSRegisterResponse.Builder resBuilder = PSRegisterResponse.newBuilder();
// if psAttemptId is not in monitor set, just return a PSCOMMAND_SHUTDOWN command.
if (!context.getParameterServerManager().isAlive(psAttemptId)) {
LOG.info(psAttemptId + " doesn't exists!");
resBuilder.setPsCommand(PSCommandProto.PSCOMMAND_SHUTDOWN);
} else {
context.getParameterServerManager().alive(psAttemptId);
context.getEventHandler().handle(new PSAttemptRegisterEvent(psAttemptId, new Location(request.getLocation().getIp(), request.getLocation().getPort())));
LOG.info(psAttemptId + " is registered now!");
resBuilder.setPsCommand(PSCommandProto.PSCOMMAND_OK);
}
LOG.info(psAttemptId + " register finished!");
return resBuilder.build();
}
Aggregations