@Override public void run(FullStateResponse response) { if (response != null) { for (Services.Component componentPb : response.getComponentList()) { state.update(componentPb.getId(), componentPb.getData(), componentPb.getRevision()); updateRevision(componentPb.getRevision()); } } }
@Override public void updateStateRequest( RpcController controller, Services.Component request, RpcCallback<Services.UpdateComponentResponse> done) { boolean success = false; if (state.checkRevision(request.getId(), request.getRevision())) { success = true; long newRevision = revision.incrementAndGet(); state.forceUpdate(request.getId(), request.getData(), newRevision); sendStateToClients(state.getComponent(request.getId())); } done.run(Services.UpdateComponentResponse.newBuilder().setSuccess(success).build()); }