# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from grid.protos.grid.v1 import experiment_service_pb2 as grid_dot_v1_dot_experiment__service__pb2


class ExperimentServiceStub(object):
    # missing associated documentation comment in .proto file
    pass

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

    Args:
      channel: A grpc.Channel.
    """
        self.CreateExperiment = channel.unary_unary(
            '/grid.v1.ExperimentService/CreateExperiment',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.CreateExperimentRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.CreateExperimentResponse.FromString,
        )
        self.GetExperiment = channel.unary_unary(
            '/grid.v1.ExperimentService/GetExperiment',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.GetExperimentRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.GetExperimentResponse.FromString,
        )
        self.ListExperiments = channel.unary_unary(
            '/grid.v1.ExperimentService/ListExperiments',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.ListExperimentsRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.ListExperimentsResponse.FromString,
        )
        self.UpdateExperiment = channel.unary_unary(
            '/grid.v1.ExperimentService/UpdateExperiment',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentResponse.FromString,
        )
        self.UpdateExperimentStatus = channel.unary_unary(
            '/grid.v1.ExperimentService/UpdateExperimentStatus',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentStatusRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentStatusResponse.FromString,
        )
        self.DeleteExperiment = channel.unary_unary(
            '/grid.v1.ExperimentService/DeleteExperiment',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.DeleteExperimentRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.DeleteExperimentResponse.FromString,
        )
        self.WatchExperiments = channel.unary_stream(
            '/grid.v1.ExperimentService/WatchExperiments',
            request_serializer=grid_dot_v1_dot_experiment__service__pb2.WatchExperimentsRequest.SerializeToString,
            response_deserializer=grid_dot_v1_dot_experiment__service__pb2.WatchExperimentsResponse.FromString,
        )


class ExperimentServiceServicer(object):
    # missing associated documentation comment in .proto file
    pass

    def CreateExperiment(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetExperiment(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListExperiments(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateExperiment(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateExperimentStatus(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteExperiment(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WatchExperiments(self, request, context):
        # missing associated documentation comment in .proto file
        pass
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ExperimentServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'CreateExperiment':
        grpc.unary_unary_rpc_method_handler(
            servicer.CreateExperiment,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.CreateExperimentRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.CreateExperimentResponse.SerializeToString,
        ),
        'GetExperiment':
        grpc.unary_unary_rpc_method_handler(
            servicer.GetExperiment,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.GetExperimentRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.GetExperimentResponse.SerializeToString,
        ),
        'ListExperiments':
        grpc.unary_unary_rpc_method_handler(
            servicer.ListExperiments,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.ListExperimentsRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.ListExperimentsResponse.SerializeToString,
        ),
        'UpdateExperiment':
        grpc.unary_unary_rpc_method_handler(
            servicer.UpdateExperiment,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentResponse.SerializeToString,
        ),
        'UpdateExperimentStatus':
        grpc.unary_unary_rpc_method_handler(
            servicer.UpdateExperimentStatus,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentStatusRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.UpdateExperimentStatusResponse.
            SerializeToString,
        ),
        'DeleteExperiment':
        grpc.unary_unary_rpc_method_handler(
            servicer.DeleteExperiment,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.DeleteExperimentRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.DeleteExperimentResponse.SerializeToString,
        ),
        'WatchExperiments':
        grpc.unary_stream_rpc_method_handler(
            servicer.WatchExperiments,
            request_deserializer=grid_dot_v1_dot_experiment__service__pb2.WatchExperimentsRequest.FromString,
            response_serializer=grid_dot_v1_dot_experiment__service__pb2.WatchExperimentsResponse.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler('grid.v1.ExperimentService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler, ))
