package monitoring;

import java.util.function.BiFunction;

import io.quarkus.grpc.runtime.MutinyClient;

@javax.annotation.Generated(
value = "by Mutiny Grpc generator",
comments = "Source: monitoring.proto")
public class MonitoringServiceClient implements MonitoringService, MutinyClient<MutinyMonitoringServiceGrpc.MutinyMonitoringServiceStub> {

    private final MutinyMonitoringServiceGrpc.MutinyMonitoringServiceStub stub;

    public MonitoringServiceClient(String name, io.grpc.Channel channel, BiFunction<String, MutinyMonitoringServiceGrpc.MutinyMonitoringServiceStub, MutinyMonitoringServiceGrpc.MutinyMonitoringServiceStub> stubConfigurator) {
       this.stub = stubConfigurator.apply(name,MutinyMonitoringServiceGrpc.newMutinyStub(channel));
    }

    @Override
    public MutinyMonitoringServiceGrpc.MutinyMonitoringServiceStub getStub() {
       return stub;
    }

    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.KpiId> createKpi(monitoring.Monitoring.KpiDescriptor request) {
       return stub.createKpi(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> editKpiDescriptor(monitoring.Monitoring.EditedKpiDescriptor request) {
       return stub.editKpiDescriptor(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> deleteKpi(monitoring.Monitoring.KpiId request) {
       return stub.deleteKpi(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.KpiDescriptorList> getKpiDescriptorList(context.ContextOuterClass.Empty request) {
       return stub.getKpiDescriptorList(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.KpiId> createBundleKpi(monitoring.Monitoring.BundleKpiDescriptor request) {
       return stub.createBundleKpi(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.KpiDescriptor> getKpiDescriptor(monitoring.Monitoring.KpiId request) {
       return stub.getKpiDescriptor(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> includeKpi(monitoring.Monitoring.Kpi request) {
       return stub.includeKpi(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> monitorKpi(monitoring.Monitoring.MonitorKpiRequest request) {
       return stub.monitorKpi(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.KpiList> queryKpiData(monitoring.Monitoring.KpiQuery request) {
       return stub.queryKpiData(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.SubsDescriptor> getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) {
       return stub.getSubsDescriptor(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.SubsIDList> getSubscriptions(context.ContextOuterClass.Empty request) {
       return stub.getSubscriptions(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> editKpiSubscription(monitoring.Monitoring.SubsDescriptor request) {
       return stub.editKpiSubscription(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.AlarmID> createKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) {
       return stub.createKpiAlarm(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<context.ContextOuterClass.Empty> editKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) {
       return stub.editKpiAlarm(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.AlarmIDList> getAlarms(context.ContextOuterClass.Empty request) {
       return stub.getAlarms(request);
    }
    @Override
    public io.smallrye.mutiny.Uni<monitoring.Monitoring.AlarmDescriptor> getAlarmDescriptor(monitoring.Monitoring.AlarmID request) {
       return stub.getAlarmDescriptor(request);
    }

    @Override
    public io.smallrye.mutiny.Multi<monitoring.Monitoring.KpiList> subscribeKpi(monitoring.Monitoring.SubsDescriptor request) {
       return stub.subscribeKpi(request);
    }

    @Override
    public io.smallrye.mutiny.Multi<monitoring.Monitoring.AlarmResponse> getAlarmResponseStream(monitoring.Monitoring.AlarmID request) {
       return stub.getAlarmResponseStream(request);
    }

}