All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.palantir.atlasdb.timelock.adjudicate.feedback.TimeLockClientFeedbackService Maven / Gradle / Ivy

There is a newer version: 0.1152.0
Show newest version
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);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy