com.palantir.atlasdb.timelock.adjudicate.feedback.TimeLockClientFeedbackService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of timelock-api-jersey Show documentation
Show all versions of timelock-api-jersey Show documentation
Palantir open source project
package com.palantir.atlasdb.timelock.adjudicate.feedback;
import com.palantir.conjure.java.lib.internal.ClientEndpoint;
import com.palantir.timelock.feedback.ConjureTimeLockClientFeedback;
import com.palantir.timelock.feedback.LeaderElectionStatistics;
import com.palantir.tokens.auth.AuthHeader;
import javax.annotation.processing.Generated;
import javax.ws.rs.Consumes;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/")
@Generated("com.palantir.conjure.java.services.JerseyServiceGenerator")
public interface TimeLockClientFeedbackService {
/** The endpoint receives feedback reports from clients which are required for TimeLock Adjudication. */
@POST
@Path("tl/feedback/reportFeedback")
@ClientEndpoint(method = "POST", path = "/tl/feedback/reportFeedback")
void reportFeedback(@HeaderParam("Authorization") AuthHeader authHeader, ConjureTimeLockClientFeedback feedback);
/**
* This endpoint recieves stats about Timelock leader election durations from all clients, then aggregates them on
* the server side.
*/
@POST
@Path("tl/feedback/reportLeaderMetrics")
@ClientEndpoint(method = "POST", path = "/tl/feedback/reportLeaderMetrics")
void reportLeaderMetrics(@HeaderParam("Authorization") AuthHeader authHeader, LeaderElectionStatistics statistics);
}