com.google.protobuf.RpcCallback#run ( )源码实例Demo

下面列出了com.google.protobuf.RpcCallback#run ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: incubator-tajo   文件: TajoMasterService.java
@Override
public void getAllWorkerResource(RpcController controller, PrimitiveProtos.NullProto request,
                                 RpcCallback<TajoMasterProtocol.WorkerResourcesRequest> done) {

  TajoMasterProtocol.WorkerResourcesRequest.Builder builder =
      TajoMasterProtocol.WorkerResourcesRequest.newBuilder();
  Collection<Worker> workers = context.getResourceManager().getWorkers().values();

  for(Worker worker: workers) {
    WorkerResource resource = worker.getResource();

    TajoMasterProtocol.WorkerResourceProto.Builder workerResource =
        TajoMasterProtocol.WorkerResourceProto.newBuilder();

    workerResource.setHost(worker.getHostName());
    workerResource.setPeerRpcPort(worker.getPeerRpcPort());
    workerResource.setInfoPort(worker.getHttpPort());
    workerResource.setQueryMasterPort(worker.getQueryMasterPort());
    workerResource.setMemoryMB(resource.getMemoryMB());
    workerResource.setDiskSlots(resource.getDiskSlots());
    workerResource.setQueryMasterPort(worker.getQueryMasterPort());

    builder.addWorkerResources(workerResource);
  }
  done.run(builder.build());
}
 
源代码2 项目: tajo   文件: QueryCoordinatorService.java
@Override
public void heartbeat(
    RpcController controller,
    TajoHeartbeatRequest request, RpcCallback<TajoHeartbeatResponse> done) {
  if(LOG.isDebugEnabled()) {
    LOG.debug("Received QueryHeartbeat:" + new WorkerConnectionInfo(request.getConnectionInfo()));
  }

  TajoHeartbeatResponse.ResponseCommand command;

  QueryManager queryManager = context.getQueryJobManager();
  command = queryManager.queryHeartbeat(request);

  TajoHeartbeatResponse.Builder builder = TajoHeartbeatResponse.newBuilder();
  builder.setHeartbeatResult(TRUE);
  if(command != null) {
    builder.setResponseCommand(command);
  }

  done.run(builder.build());
}
 
@Override
public void getTask(RpcController controller, TajoWorkerProtocol.GetTaskRequestProto request,
                    RpcCallback<TajoWorkerProtocol.QueryUnitRequestProto> done) {
  try {
    ExecutionBlockId ebId = new ExecutionBlockId(request.getExecutionBlockId());
    QueryMasterTask queryMasterTask = workerContext.getQueryMaster().getQueryMasterTask(ebId.getQueryId());

    if(queryMasterTask == null || queryMasterTask.isStopped()) {
      done.run(LazyTaskScheduler.stopTaskRunnerReq);
    } else {
      ContainerId cid =
          queryMasterTask.getQueryTaskContext().getResourceAllocator().makeContainerId(request.getContainerId());
      LOG.debug("getTask:" + cid + ", ebId:" + ebId);
      queryMasterTask.handleTaskRequestEvent(new TaskRequestEvent(cid, ebId, done));
    }
  } catch (Exception e) {
    LOG.error(e.getMessage(), e);
  }
}
 
源代码4 项目: swellrt   文件: ServerRpcControllerImpl.java
/**
 * Registers a cancellation callback. This will always be called as part of
 * this RPC, and always at most once; either when the client asks to cancel
 * it, or when the RPC finishes (regardless of error case).
 *
 * This callback will be called outside normal locks on ServerRpcController
 * state, i.e., not within a block synchronised on statusLock.
 */
@Override
public void notifyOnCancel(final RpcCallback<Object> callback) {
  RpcCallback<Object> runCallback = null;
  synchronized (statusLock) {
    if (cancelCallback != null) {
      throw new IllegalStateException("Must only be called once per request.");
    } else {
      cancelCallback = callback;
      if (cancelled || complete) {
        runCallback = cancelCallback;
      }
    }
  }
  if (runCallback != null) {
    runCallback.run(null);
  }
}
 
源代码5 项目: incubator-tajo   文件: TajoMasterService.java
@Override
public void heartbeat(
    RpcController controller,
    TajoMasterProtocol.TajoHeartbeat request, RpcCallback<TajoMasterProtocol.TajoHeartbeatResponse> done) {
  if(LOG.isDebugEnabled()) {
    LOG.debug("Received QueryHeartbeat:" + request.getTajoWorkerHost() + ":" + request.getTajoQueryMasterPort());
  }

  TajoMasterProtocol.TajoHeartbeatResponse.ResponseCommand command = null;

  QueryJobManager queryJobManager = context.getQueryJobManager();
  command = queryJobManager.queryHeartbeat(request);

  TajoMasterProtocol.TajoHeartbeatResponse.Builder builder = TajoMasterProtocol.TajoHeartbeatResponse.newBuilder();
  builder.setHeartbeatResult(BOOL_TRUE);
  if(command != null) {
    builder.setResponseCommand(command);
  }

  builder.setClusterResourceSummary(context.getResourceManager().getClusterResourceSummary());
  done.run(builder.build());
}
 
源代码6 项目: geowave   文件: VersionEndpoint.java
@Override
public void version(
    final RpcController controller,
    final VersionRequest request,
    final RpcCallback<VersionResponse> done) {
  done.run(VersionResponse.newBuilder().addAllVersionInfo(VersionUtils.getVersionInfo()).build());
}
 
源代码7 项目: tajo   文件: DummyProtocolAsyncImpl.java
@Override
public void delay(RpcController controller, EchoMessage request,
                  RpcCallback<EchoMessage> done) {
  try {
    Thread.sleep(3000);
  } catch (InterruptedException e) {
    LOG.error(e.getMessage());
  }

  done.run(request);
}
 
源代码8 项目: tajo   文件: DummyProtocolAsyncImpl.java
@Override
public void sum(RpcController controller, SumRequest request,
                RpcCallback<SumResponse> done) {

  SumResponse response = SumResponse.newBuilder().setResult(
      request.getX1()+request.getX2()+request.getX3()+request.getX4()
  ).build();
  done.run(response);
}
 
源代码9 项目: opendsp   文件: BiddingService.java
@Override
public void bidding(RpcController controller, BiddingReq request, RpcCallback<BiddingRsp> done) {
	try {
		done.run(bidding(controller, request));
	} catch (ServiceException ex) {
	}
}
 
源代码10 项目: tajo   文件: QueryMasterManagerService.java
@Override
public void statusUpdate(RpcController controller, TaskStatusProto request,
                         RpcCallback<PrimitiveProtos.NullProto> done) {
  QueryId queryId = new QueryId(request.getId().getTaskId().getExecutionBlockId().getQueryId());
  TaskAttemptId attemptId = new TaskAttemptId(request.getId());
  QueryMasterTask queryMasterTask = queryMaster.getQueryMasterTask(queryId);

  if (queryMasterTask != null) {
    Stage sq = queryMasterTask.getQuery().getStage(attemptId.getTaskId().getExecutionBlockId());
    Task task = sq.getTask(attemptId.getTaskId());
    TaskAttempt attempt = task.getAttempt(attemptId.getId());

    if(LOG.isDebugEnabled()){
      LOG.debug(String.format("Task State: %s, Attempt State: %s", task.getState().name(), attempt.getState().name()));
    }

    if (request.getState() == TajoProtos.TaskAttemptState.TA_KILLED) {
      LOG.warn(attemptId + " Killed");
      attempt.handle(
          new TaskAttemptEvent(new TaskAttemptId(request.getId()), TaskAttemptEventType.TA_LOCAL_KILLED));
    } else {
      queryMasterTask.getEventHandler().handle(
          new TaskAttemptStatusUpdateEvent(new TaskAttemptId(request.getId()), request));
    }

  }
  done.run(TajoWorker.NULL_PROTO);
}
 
源代码11 项目: tajo   文件: QueryMasterManagerService.java
@Override
public void doneExecutionBlock(
    RpcController controller, ExecutionBlockReport request,
    RpcCallback<PrimitiveProtos.NullProto> done) {
  QueryMasterTask queryMasterTask = queryMaster.getQueryMasterTask(new QueryId(request.getEbId().getQueryId()));
  if (queryMasterTask != null) {
    ExecutionBlockId ebId = new ExecutionBlockId(request.getEbId());
    queryMasterTask.getEventHandler().handle(new StageShuffleReportEvent(ebId, request));
  }
  done.run(TajoWorker.NULL_PROTO);
}
 
源代码12 项目: tajo   文件: QueryMasterManagerService.java
@Override
public void executeQuery(RpcController controller,
                         QueryExecutionRequest request,
                         RpcCallback<PrimitiveProtos.NullProto> done) {

  QueryId queryId = new QueryId(request.getQueryId());
  LOG.info("Receive executeQuery request:" + queryId);
  queryMaster.handle(new QueryStartEvent(queryId,
      new Session(request.getSession()),
      new QueryContext(workerContext.getQueryMaster().getContext().getConf(),
          request.getQueryContext()), request.getExprInJson().getValue(),
      request.getLogicalPlanJson().getValue(), new NodeResource(request.getAllocation().getResource())));
  done.run(TajoWorker.NULL_PROTO);
}
 
源代码13 项目: incubator-tajo   文件: TajoMasterService.java
@Override
public void releaseWorkerResource(RpcController controller,
                                       TajoMasterProtocol.WorkerResourceReleaseRequest request,
                                       RpcCallback<PrimitiveProtos.BoolProto> done) {
  List<YarnProtos.ContainerIdProto> containerIds = request.getContainerIdsList();

  for(YarnProtos.ContainerIdProto eachContainer: containerIds) {
    context.getResourceManager().releaseWorkerResource(eachContainer);
  }
  done.run(BOOL_TRUE);
}
 
源代码14 项目: phoenix   文件: ServerCachingEndpointImpl.java
@Override
public void removeServerCache(RpcController controller, RemoveServerCacheRequest request,
    RpcCallback<RemoveServerCacheResponse> done) {
  ImmutableBytesPtr tenantId = null;
  if (request.hasTenantId()) {
    tenantId = new ImmutableBytesPtr(request.getTenantId().toByteArray());
  }
  TenantCache tenantCache = GlobalCache.getTenantCache(this.env, tenantId);
  tenantCache.removeServerCache(new ImmutableBytesPtr(request.getCacheId().toByteArray()));
  RemoveServerCacheResponse.Builder responseBuilder = RemoveServerCacheResponse.newBuilder();
  responseBuilder.setReturn(true);
  RemoveServerCacheResponse result = responseBuilder.build();
  done.run(result);
}
 
源代码15 项目: incubator-tajo   文件: QueryMasterManagerService.java
@Override
public void fatalError(RpcController controller, TajoWorkerProtocol.TaskFatalErrorReport report,
                       RpcCallback<PrimitiveProtos.BoolProto> done) {
  try {
    QueryMasterTask queryMasterTask = queryMaster.getQueryMasterTask(
        new QueryId(report.getId().getQueryUnitId().getExecutionBlockId().getQueryId()));
    queryMasterTask.getEventHandler().handle(new TaskFatalErrorEvent(report));
    done.run(TajoWorker.TRUE_PROTO);
  } catch (Exception e) {
    LOG.error(e.getMessage(), e);
    done.run(TajoWorker.FALSE_PROTO);
  }
}
 
源代码16 项目: protobuf-socket-rpc   文件: RpcChannelImpl.java
private static void callbackWithNull(RpcCallback<Message> done) {
  if (done != null) {
    done.run(null);
  }
}
 
源代码17 项目: yuzhouwan   文件: QueryEndpoint.java
@Override
public void queryByRowKey(RpcController controller, DataProtos.DataQueryRequest request, RpcCallback<DataQueryResponse> done) {
    DataProtos.DataQueryResponse response = null;
    try {
        String rowKey = request.getRowKey();
        String regionStartKey = Bytes.toString(this.env.getRegion().getRegionInfo().getStartKey());

        if (request.getIsSalting()) {                       // 如果加盐过则在key前添加盐值
            String startSalt = null;
            if (null != regionStartKey && !regionStartKey.isEmpty()) {
                startSalt = regionStartKey.split("_")[0];   // 加盐的方式为盐值+"_",所以取_前面的
            }
            if (null != startSalt) {
                if (null != rowKey) {
                    rowKey = startSalt + "_" + rowKey;
                }
            }
        }
        if (StrUtils.isEmpty(rowKey)) return;
        Get get = new Get(Bytes.toBytes(rowKey));
        Result result = this.env.getRegion().get(get);

        DataProtos.DataQueryResponse.Builder responseBuilder = DataProtos.DataQueryResponse.newBuilder();
        DataProtos.DataQueryResponse.Row.Builder rowBuilder = DataProtos.DataQueryResponse.Row.newBuilder();

        if (result != null && !result.isEmpty()) {
            List<KeyValue> list = result.list();
            if (null != list && !list.isEmpty()) {
                rowBuilder.setRowKey(ByteString.copyFrom(list.get(0).getRow()));
                for (KeyValue kv : list) {
                    queryBuilder(rowBuilder, ByteString.copyFrom(kv.getFamily()), ByteString.copyFrom(kv.getQualifier()), ByteString.copyFrom(kv.getRow()), ByteString.copyFrom(kv.getValue()));
                }
            }
        }
        responseBuilder.addRowList(rowBuilder);
        response = responseBuilder.build();
    } catch (IOException ignored) {
        ResponseConverter.setControllerException(controller, ignored);
    }
    done.run(response);
}
 
源代码18 项目: incubator-tajo   文件: TajoWorkerManagerService.java
@Override
public void ping(RpcController controller,
                 TajoIdProtos.QueryUnitAttemptIdProto attemptId,
                 RpcCallback<PrimitiveProtos.BoolProto> done) {
  done.run(TajoWorker.TRUE_PROTO);
}
 
源代码19 项目: incubator-tajo   文件: DummyProtocolAsyncImpl.java
@Override
public void echo(RpcController controller, EchoMessage request,
                 RpcCallback<EchoMessage> done) {

  done.run(request);
}
 
源代码20 项目: tajo   文件: DummyProtocolAsyncImpl.java
@Override
public void echo(RpcController controller, EchoMessage request,
                 RpcCallback<EchoMessage> done) {

  done.run(request);
}
 
 同类方法