本文整理匯總了Java中com.google.protobuf.RpcController類的典型用法代碼示例。如果您正苦於以下問題:Java RpcController類的具體用法?Java RpcController怎麽用?Java RpcController使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
RpcController類屬於com.google.protobuf包,在下文中一共展示了RpcController類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getMatrices
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* Get matrices metadata
* @param controller
* @param request
* @return
* @throws ServiceException
*/
@Override
public GetMatricesResponse getMatrices(RpcController controller, GetMatricesRequest request)
throws ServiceException {
GetMatricesResponse.Builder builder = GetMatricesResponse.newBuilder();
AMMatrixMetaManager matrixMetaManager = context.getMatrixMetaManager();
List<String> matrixNames = request.getMatrixNamesList();
int size = matrixNames.size();
for(int i = 0; i < size; i++) {
MatrixMeta matrixMeta = matrixMetaManager.getMatrix(matrixNames.get(i));
if(matrixMeta == null) {
throw new ServiceException("Can not find matrix " + matrixNames.get(i));
}
builder.addMatrixMetas(ProtobufUtil.convertToMatrixMetaProto(matrixMeta));
}
return builder.build();
}
示例2: psError
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* notify a parameter server run failed
* @param controller rpc controller of protobuf
* @param request contains parameter server id and error message
* @throws ServiceException
*/
@SuppressWarnings("unchecked")
@Override
public PSErrorResponse psError(RpcController controller, PSErrorRequest request)
throws ServiceException {
PSAttemptId psAttemptId = ProtobufUtil.convertToId(request.getPsAttemptId());
LOG.info("error happened in psAttempt " + psAttemptId + " error msg=" + request.getMsg());
//remove this parameter server attempt from monitor set
psLastHeartbeatTS.remove(psAttemptId);
context.getEventHandler().handle(
new PSAttemptDiagnosticsUpdateEvent(request.getMsg(), psAttemptId));
context.getEventHandler()
.handle(new PSAttemptEvent(PSAttemptEventType.PA_FAILMSG, psAttemptId));
return PSErrorResponse.newBuilder().build();
}
示例3: create
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public CreateResponseProto create(RpcController controller,
CreateRequestProto req) throws ServiceException {
try {
HdfsFileStatus result = server.create(req.getSrc(),
PBHelper.convert(req.getMasked()), req.getClientName(),
PBHelper.convertCreateFlag(req.getCreateFlag()), req.getCreateParent(),
(short) req.getReplication(), req.getBlockSize(),
PBHelper.convertCryptoProtocolVersions(
req.getCryptoProtocolVersionList()));
if (result != null) {
return CreateResponseProto.newBuilder().setFs(PBHelper.convert(result))
.build();
}
return VOID_CREATE_RESPONSE;
} catch (IOException e) {
throw new ServiceException(e);
}
}
示例4: getPartLocation
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* Get locations for a partition
* @param controller
* @param request
* @return
* @throws ServiceException
*/
@Override public GetPartLocationResponse getPartLocation(RpcController controller,
GetPartLocationRequest request) throws ServiceException {
GetPartLocationResponse.Builder builder = GetPartLocationResponse.newBuilder();
List<ParameterServerId> psIds = context.getMatrixMetaManager().getPss(request.getMatrixId(), request.getPartId());
if(psIds != null) {
int size = psIds.size();
for(int i = 0; i < size; i++) {
Location psLocation = context.getLocationManager().getPsLocation(psIds.get(i));
if (psLocation == null) {
builder.addLocations((PSLocationProto.newBuilder().setPsId(
ProtobufUtil.convertToIdProto(psIds.get(i))).setPsStatus(PSStatus.PS_NOTREADY).build()));
} else {
builder.addLocations(ProtobufUtil.convertToPSLocProto(psIds.get(i), psLocation));
}
}
}
return builder.build();
}
示例5: psAgentReport
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* response for psagent heartbeat.
*
* @param controller rpc controller of protobuf
* @param request
* @throws ServiceException
*/
@SuppressWarnings("unchecked")
@Override
public PSAgentReportResponse psAgentReport(RpcController controller, PSAgentReportRequest request)
throws ServiceException {
if (LOG.isDebugEnabled()) {
LOG.debug("receive ps agent state report, request=" + request);
}
PSAgentAttemptId psAgentAttemptId = ProtobufUtil.convertToId(request.getPsAgentAttemptId());
if (!psAgentLastHeartbeatTS.containsKey(psAgentAttemptId)) {
LOG.error("psagent attempt " + psAgentAttemptId + " is not in running worker attempt set now, shutdown it");
return PSAgentReportResponse.newBuilder().setCommand(PSAgentCommandProto.PSAGENT_SHUTDOWN)
.build();
} else {
context.getEventHandler().handle(
new PSAgentAttemptStateUpdateEvent(psAgentAttemptId, request));
psAgentLastHeartbeatTS.put(psAgentAttemptId, System.currentTimeMillis());
return PSAgentReportResponse.newBuilder().setCommand(PSAgentCommandProto.PSAGENT_SUCCESS)
.build();
}
}
示例6: psAgentError
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* psagent run falied
*
* @param controller rpc controller of protobuf
* @param request contains psagent attempt id, error message
* @throws ServiceException
*/
@SuppressWarnings("unchecked")
@Override
public PSAgentErrorResponse psAgentError(RpcController controller, PSAgentErrorRequest request)
throws ServiceException {
PSAgentErrorResponse.Builder resBuilder = PSAgentErrorResponse.newBuilder();
PSAgentAttemptId psAgentAttemptId = ProtobufUtil.convertToId(request.getPsAgentAttemptId());
if (!psAgentLastHeartbeatTS.containsKey(psAgentAttemptId)) {
LOG.error("psagent attempt " + psAgentAttemptId + " is not in running worker attempt set now, shutdown it");
resBuilder.setCommand(PSAgentCommandProto.PSAGENT_SHUTDOWN);
} else {
psAgentLastHeartbeatTS.remove(psAgentAttemptId);
LOG.error("error happened in psagent " + psAgentAttemptId + ", error msg:" + request.getMsg());
context.getEventHandler().handle(
new PSAgentAttemptDiagnosticsUpdateEvent(psAgentAttemptId, request.getMsg()));
context.getEventHandler()
.handle(
new PSAgentAttemptEvent(PSAgentAttemptEventType.PSAGENT_ATTEMPT_FAILMSG,
psAgentAttemptId));
resBuilder.setCommand(PSAgentCommandProto.PSAGENT_SUCCESS);
}
return resBuilder.build();
}
示例7: workerRegister
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* worker register to master
*
* @param controller rpc controller of protobuf
* @param request contains worker attempt id, worker location
* @throws ServiceException
*/
@SuppressWarnings("unchecked")
@Override
public WorkerRegisterResponse workerRegister(RpcController controller,
WorkerRegisterRequest request) throws ServiceException {
if (LOG.isDebugEnabled()) {
LOG.debug("receive worker register, request=" + request);
}
WorkerRegisterResponse.Builder registerResponseBuilder = WorkerRegisterResponse.newBuilder();
WorkerAttemptId workerAttemptId = ProtobufUtil.convertToId(request.getWorkerAttemptId());
//if worker attempt id is not in monitor set, we should shutdown it
if (!workerLastHeartbeatTS.containsKey(workerAttemptId)) {
LOG.error("worker attempt " + workerAttemptId + " is not in running worker attempt set now, shutdown it");
registerResponseBuilder.setCommand(WorkerCommandProto.W_SHUTDOWN);
} else {
Location location =
new Location(request.getLocation().getIp(), request.getLocation().getPort());
context.getEventHandler().handle(new WorkerAttemptRegisterEvent(workerAttemptId, location));
registerResponseBuilder.setCommand(WorkerCommandProto.W_SUCCESS);
LOG.info("worker attempt " + workerAttemptId + " register finished!");
}
return registerResponseBuilder.build();
}
示例8: checkMatricesCreated
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* Check matrices are created successfully
* @param controller rpc controller of protobuf
* @param request check request that contains matrix names
*/
@Override
public CheckMatricesCreatedResponse checkMatricesCreated(RpcController controller,
CheckMatricesCreatedRequest request) throws ServiceException {
List<String> names = request.getMatrixNamesList();
CheckMatricesCreatedResponse.Builder builder = CheckMatricesCreatedResponse.newBuilder();
int size = names.size();
for(int i = 0; i < size; i++) {
if(!context.getMatrixMetaManager().isCreated(names.get(i))) {
builder.setStatus(-1);
return builder.build();
}
}
return builder.setStatus(0).build();
}
示例9: rollWALWriter
import com.google.protobuf.RpcController; //導入依賴的package包/類
/**
* Roll the WAL writer of the region server.
* @param controller the RPC controller
* @param request the request
* @throws ServiceException
*/
@Override
public RollWALWriterResponse rollWALWriter(final RpcController controller,
final RollWALWriterRequest request) throws ServiceException {
try {
checkOpen();
requestCount.increment();
regionServer.getRegionServerCoprocessorHost().preRollWALWriterRequest();
regionServer.walRoller.requestRollAll();
regionServer.getRegionServerCoprocessorHost().postRollWALWriterRequest();
RollWALWriterResponse.Builder builder = RollWALWriterResponse.newBuilder();
return builder.build();
} catch (IOException ie) {
throw new ServiceException(ie);
}
}
示例10: refresh
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public GenericRefreshResponseCollectionProto refresh(
RpcController controller, GenericRefreshRequestProto request)
throws ServiceException {
try {
List<String> argList = request.getArgsList();
String[] args = argList.toArray(new String[argList.size()]);
if (!request.hasIdentifier()) {
throw new ServiceException("Request must contain identifier");
}
Collection<RefreshResponse> results = impl.refresh(request.getIdentifier(), args);
return pack(results);
} catch (IOException e) {
throw new ServiceException(e);
}
}
示例11: addSpanReceiver
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public AddSpanReceiverResponseProto addSpanReceiver(
RpcController controller, AddSpanReceiverRequestProto req)
throws ServiceException {
try {
SpanReceiverInfoBuilder factory =
new SpanReceiverInfoBuilder(req.getClassName());
for (ConfigPair config : req.getConfigList()) {
factory.addConfigurationPair(config.getKey(), config.getValue());
}
long id = server.addSpanReceiver(factory.build());
return AddSpanReceiverResponseProto.newBuilder().setId(id).build();
} catch (IOException e) {
throw new ServiceException(e);
}
}
示例12: getSnapshottableDirListing
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public GetSnapshottableDirListingResponseProto getSnapshottableDirListing(
RpcController controller, GetSnapshottableDirListingRequestProto request)
throws ServiceException {
try {
SnapshottableDirectoryStatus[] result = server
.getSnapshottableDirListing();
if (result != null) {
return GetSnapshottableDirListingResponseProto.newBuilder().
setSnapshottableDirList(PBHelper.convert(result)).build();
} else {
return NULL_GET_SNAPSHOTTABLE_DIR_LISTING_RESPONSE;
}
} catch (IOException e) {
throw new ServiceException(e);
}
}
示例13: append
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public AppendResponseProto append(RpcController controller,
AppendRequestProto req) throws ServiceException {
try {
EnumSetWritable<CreateFlag> flags = req.hasFlag() ?
PBHelper.convertCreateFlag(req.getFlag()) :
new EnumSetWritable<>(EnumSet.of(CreateFlag.APPEND));
LastBlockWithStatus result = server.append(req.getSrc(),
req.getClientName(), flags);
AppendResponseProto.Builder builder = AppendResponseProto.newBuilder();
if (result.getLastBlock() != null) {
builder.setBlock(PBHelper.convert(result.getLastBlock()));
}
if (result.getFileStatus() != null) {
builder.setStat(PBHelper.convert(result.getFileStatus()));
}
return builder.build();
} catch (IOException e) {
throw new ServiceException(e);
}
}
示例14: callBlockingMethod
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public Message callBlockingMethod(Descriptors.MethodDescriptor md, RpcController controller,
Message param, Message returnType) throws ServiceException {
PayloadCarryingRpcController pcrc;
if (controller != null && controller instanceof PayloadCarryingRpcController) {
pcrc = (PayloadCarryingRpcController) controller;
if (!pcrc.hasCallTimeout()) {
pcrc.setCallTimeout(channelOperationTimeout);
}
} else {
pcrc = new PayloadCarryingRpcController();
pcrc.setCallTimeout(channelOperationTimeout);
}
return this.rpcClient.callBlockingMethod(md, pcrc, param, returnType, this.ticket, this.isa);
}
示例15: getProtocolVersions
import com.google.protobuf.RpcController; //導入依賴的package包/類
@Override
public GetProtocolVersionsResponseProto getProtocolVersions(
RpcController controller, GetProtocolVersionsRequestProto request)
throws ServiceException {
String protocol = request.getProtocol();
GetProtocolVersionsResponseProto.Builder builder =
GetProtocolVersionsResponseProto.newBuilder();
for (RPC.RpcKind r : RPC.RpcKind.values()) {
long[] versions;
try {
versions = getProtocolVersionForRpcKind(r, protocol);
} catch (ClassNotFoundException e) {
throw new ServiceException(e);
}
ProtocolVersionProto.Builder b = ProtocolVersionProto.newBuilder();
if (versions != null) {
b.setRpcKind(r.toString());
for (long v : versions) {
b.addVersions(v);
}
}
builder.addProtocolVersions(b.build());
}
return builder.build();
}