# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from cicadad.protos import backend_pb2 as cicadad_dot_protos_dot_backend__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


class BackendStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.CreateTest = channel.unary_unary(
                '/backend.Backend/CreateTest',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.CreateTestRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateTestResponse.FromString,
                )
        self.CreateScenario = channel.unary_unary(
                '/backend.Backend/CreateScenario',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.CreateScenarioRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateScenarioResponse.FromString,
                )
        self.CreateUsers = channel.unary_unary(
                '/backend.Backend/CreateUsers',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.CreateUsersRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateUsersResponse.FromString,
                )
        self.StopUsers = channel.unary_unary(
                '/backend.Backend/StopUsers',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.StopUsersRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CleanTestInstances = channel.unary_unary(
                '/backend.Backend/CleanTestInstances',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.CleanTestInstancesRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CheckTestInstance = channel.unary_unary(
                '/backend.Backend/CheckTestInstance',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceResponse.FromString,
                )
        self.AddTestEvent = channel.unary_unary(
                '/backend.Backend/AddTestEvent',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.AddEventRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetTestEvents = channel.unary_unary(
                '/backend.Backend/GetTestEvents',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.Events.FromString,
                )
        self.AddUserResults = channel.unary_unary(
                '/backend.Backend/AddUserResults',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.AddUserResultsRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.SetScenarioResult = channel.unary_unary(
                '/backend.Backend/SetScenarioResult',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.SetScenarioResultRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.MoveUserResults = channel.unary_unary(
                '/backend.Backend/MoveUserResults',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.MoveUserResultsRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.MoveUserResultsResponse.FromString,
                )
        self.MoveScenarioResult = channel.unary_unary(
                '/backend.Backend/MoveScenarioResult',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultResponse.FromString,
                )
        self.DistributeWork = channel.unary_unary(
                '/backend.Backend/DistributeWork',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.DistributeWorkRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetUserWork = channel.unary_unary(
                '/backend.Backend/GetUserWork',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetUserWorkRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.GetUserWorkResponse.FromString,
                )
        self.AddUserEvent = channel.unary_unary(
                '/backend.Backend/AddUserEvent',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.AddEventRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetUserEvents = channel.unary_unary(
                '/backend.Backend/GetUserEvents',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.Events.FromString,
                )
        self.AddMetric = channel.unary_unary(
                '/backend.Backend/AddMetric',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.AddMetricRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetMetricTotal = channel.unary_unary(
                '/backend.Backend/GetMetricTotal',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.MetricTotalResponse.FromString,
                )
        self.GetLastMetric = channel.unary_unary(
                '/backend.Backend/GetLastMetric',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.LastMetricResponse.FromString,
                )
        self.GetMetricRate = channel.unary_unary(
                '/backend.Backend/GetMetricRate',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRateRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.MetricRateResponse.FromString,
                )
        self.GetMetricStatistics = channel.unary_unary(
                '/backend.Backend/GetMetricStatistics',
                request_serializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
                response_deserializer=cicadad_dot_protos_dot_backend__pb2.MetricStatisticsResponse.FromString,
                )


class BackendServicer(object):
    """Missing associated documentation comment in .proto file."""

    def CreateTest(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateScenario(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StopUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CleanTestInstances(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckTestInstance(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddTestEvent(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTestEvents(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddUserResults(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetScenarioResult(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MoveUserResults(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MoveScenarioResult(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DistributeWork(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserWork(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddUserEvent(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserEvents(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddMetric(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMetricTotal(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLastMetric(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMetricRate(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMetricStatistics(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_BackendServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateTest': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTest,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateTestRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.CreateTestResponse.SerializeToString,
            ),
            'CreateScenario': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateScenario,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateScenarioRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.CreateScenarioResponse.SerializeToString,
            ),
            'CreateUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateUsers,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.CreateUsersRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.CreateUsersResponse.SerializeToString,
            ),
            'StopUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.StopUsers,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.StopUsersRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CleanTestInstances': grpc.unary_unary_rpc_method_handler(
                    servicer.CleanTestInstances,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.CleanTestInstancesRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CheckTestInstance': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckTestInstance,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceResponse.SerializeToString,
            ),
            'AddTestEvent': grpc.unary_unary_rpc_method_handler(
                    servicer.AddTestEvent,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.AddEventRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetTestEvents': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTestEvents,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.Events.SerializeToString,
            ),
            'AddUserResults': grpc.unary_unary_rpc_method_handler(
                    servicer.AddUserResults,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.AddUserResultsRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'SetScenarioResult': grpc.unary_unary_rpc_method_handler(
                    servicer.SetScenarioResult,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.SetScenarioResultRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'MoveUserResults': grpc.unary_unary_rpc_method_handler(
                    servicer.MoveUserResults,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.MoveUserResultsRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.MoveUserResultsResponse.SerializeToString,
            ),
            'MoveScenarioResult': grpc.unary_unary_rpc_method_handler(
                    servicer.MoveScenarioResult,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultResponse.SerializeToString,
            ),
            'DistributeWork': grpc.unary_unary_rpc_method_handler(
                    servicer.DistributeWork,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.DistributeWorkRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetUserWork': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserWork,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetUserWorkRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.GetUserWorkResponse.SerializeToString,
            ),
            'AddUserEvent': grpc.unary_unary_rpc_method_handler(
                    servicer.AddUserEvent,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.AddEventRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetUserEvents': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserEvents,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.Events.SerializeToString,
            ),
            'AddMetric': grpc.unary_unary_rpc_method_handler(
                    servicer.AddMetric,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.AddMetricRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetMetricTotal': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMetricTotal,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.MetricTotalResponse.SerializeToString,
            ),
            'GetLastMetric': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLastMetric,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.LastMetricResponse.SerializeToString,
            ),
            'GetMetricRate': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMetricRate,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRateRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.MetricRateResponse.SerializeToString,
            ),
            'GetMetricStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMetricStatistics,
                    request_deserializer=cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.FromString,
                    response_serializer=cicadad_dot_protos_dot_backend__pb2.MetricStatisticsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'backend.Backend', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Backend(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def CreateTest(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/CreateTest',
            cicadad_dot_protos_dot_backend__pb2.CreateTestRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.CreateTestResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateScenario(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/CreateScenario',
            cicadad_dot_protos_dot_backend__pb2.CreateScenarioRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.CreateScenarioResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/CreateUsers',
            cicadad_dot_protos_dot_backend__pb2.CreateUsersRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.CreateUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StopUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/StopUsers',
            cicadad_dot_protos_dot_backend__pb2.StopUsersRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CleanTestInstances(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/CleanTestInstances',
            cicadad_dot_protos_dot_backend__pb2.CleanTestInstancesRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckTestInstance(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/CheckTestInstance',
            cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.CheckTestInstanceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddTestEvent(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/AddTestEvent',
            cicadad_dot_protos_dot_backend__pb2.AddEventRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTestEvents(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetTestEvents',
            cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.Events.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddUserResults(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/AddUserResults',
            cicadad_dot_protos_dot_backend__pb2.AddUserResultsRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetScenarioResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/SetScenarioResult',
            cicadad_dot_protos_dot_backend__pb2.SetScenarioResultRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MoveUserResults(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/MoveUserResults',
            cicadad_dot_protos_dot_backend__pb2.MoveUserResultsRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.MoveUserResultsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MoveScenarioResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/MoveScenarioResult',
            cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.MoveScenarioResultResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DistributeWork(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/DistributeWork',
            cicadad_dot_protos_dot_backend__pb2.DistributeWorkRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserWork(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetUserWork',
            cicadad_dot_protos_dot_backend__pb2.GetUserWorkRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.GetUserWorkResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddUserEvent(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/AddUserEvent',
            cicadad_dot_protos_dot_backend__pb2.AddEventRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserEvents(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetUserEvents',
            cicadad_dot_protos_dot_backend__pb2.GetEventsRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.Events.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddMetric(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/AddMetric',
            cicadad_dot_protos_dot_backend__pb2.AddMetricRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMetricTotal(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetMetricTotal',
            cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.MetricTotalResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLastMetric(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetLastMetric',
            cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.LastMetricResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMetricRate(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetMetricRate',
            cicadad_dot_protos_dot_backend__pb2.GetMetricRateRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.MetricRateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMetricStatistics(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/backend.Backend/GetMetricStatistics',
            cicadad_dot_protos_dot_backend__pb2.GetMetricRequest.SerializeToString,
            cicadad_dot_protos_dot_backend__pb2.MetricStatisticsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
