public void transfusion(RequestInitiatingMigration request) {
URI senderURI = URI.create(request.getSender());
URI receiverURI = URI.create(request.getReceiver());
tarantoolClient.graphql(TdgJsonUtils.paginationQuery(request), senderURI.getHost(), senderURI.getPort())
.onSuccess(httpResp -> {
List mutations = TdgJsonUtils.convertToListMutations(httpResp.bodyAsJsonObject(), request);
String cursor = TdgJsonUtils.getLastCursor(httpResp.bodyAsJsonObject(), request);
while (!cursor.equals("empty")) {
JsonObject response = tarantoolClient.graphql(
TdgJsonUtils.paginationQuery(request, cursor), senderURI.getHost(), senderURI.getPort())
.result().bodyAsJsonObject();
mutations.addAll(TdgJsonUtils.convertToListMutations(response, request));
cursor = TdgJsonUtils.getLastCursor(response, request);
}
for (JsonObject mutation : mutations) {
tarantoolClient.mutation(mutation, receiverURI.getHost(), receiverURI.getPort(), request.getToken());
}
});
}