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

from eqc_direct import eqc_pb2 as eqc__direct_dot_eqc__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.SolveSumConst = channel.unary_unary(
            "/eqc.EqcService/SolveSumConst",
            request_serializer=eqc__direct_dot_eqc__pb2.SumConstInput.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
        )
        self.SolveInt = channel.unary_unary(
            "/eqc.EqcService/SolveInt",
            request_serializer=eqc__direct_dot_eqc__pb2.IntInput.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
        )
        self.FetchIntResults = channel.unary_unary(
            "/eqc.EqcService/FetchIntResults",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.IntResult.FromString,
        )
        self.FetchSumConstResults = channel.unary_unary(
            "/eqc.EqcService/FetchSumConstResults",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SumConstResult.FromString,
        )
        self.SystemStatus = channel.unary_unary(
            "/eqc.EqcService/SystemStatus",
            request_serializer=eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
        )
        self.StopRunning = channel.unary_unary(
            "/eqc.EqcService/StopRunning",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
        )
        self.AcquireLock = channel.unary_unary(
            "/eqc.EqcService/AcquireLock",
            request_serializer=eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.LockOutput.FromString,
        )
        self.ReleaseLock = channel.unary_unary(
            "/eqc.EqcService/ReleaseLock",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
        )
        self.CheckLock = channel.unary_unary(
            "/eqc.EqcService/CheckLock",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
        )
        self.SystemInfo = channel.unary_unary(
            "/eqc.EqcService/SystemInfo",
            request_serializer=eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.VersionOutput.FromString,
        )
        self.MixedIntExp = channel.unary_unary(
            "/eqc.EqcService/MixedIntExp",
            request_serializer=eqc__direct_dot_eqc__pb2.MixedIntExpInput.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
        )
        self.FetchMixedIntExpResults = channel.unary_unary(
            "/eqc.EqcService/FetchMixedIntExpResults",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.MixedIntExpResult.FromString,
        )
        self.SolveSumConstExp = channel.unary_unary(
            "/eqc.EqcService/SolveSumConstExp",
            request_serializer=eqc__direct_dot_eqc__pb2.SumConstExpInput.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
        )
        self.FetchSumConstExpResults = channel.unary_unary(
            "/eqc.EqcService/FetchSumConstExpResults",
            request_serializer=eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.SumConstExpResult.FromString,
        )
        self.GetPhotonRate = channel.unary_unary(
            "/eqc.EqcService/GetPhotonRate",
            request_serializer=eqc__direct_dot_eqc__pb2.RateInput.SerializeToString,
            response_deserializer=eqc__direct_dot_eqc__pb2.RateOutput.FromString,
        )


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

    def SolveSumConst(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 SolveInt(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 FetchIntResults(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 FetchSumConstResults(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 SystemStatus(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 StopRunning(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 AcquireLock(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 ReleaseLock(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 CheckLock(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 SystemInfo(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 MixedIntExp(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 FetchMixedIntExpResults(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 SolveSumConstExp(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 FetchSumConstExpResults(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 GetPhotonRate(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_EqcServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
        "SolveSumConst": grpc.unary_unary_rpc_method_handler(
            servicer.SolveSumConst,
            request_deserializer=eqc__direct_dot_eqc__pb2.SumConstInput.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SubmitOutput.SerializeToString,
        ),
        "SolveInt": grpc.unary_unary_rpc_method_handler(
            servicer.SolveInt,
            request_deserializer=eqc__direct_dot_eqc__pb2.IntInput.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SubmitOutput.SerializeToString,
        ),
        "FetchIntResults": grpc.unary_unary_rpc_method_handler(
            servicer.FetchIntResults,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.IntResult.SerializeToString,
        ),
        "FetchSumConstResults": grpc.unary_unary_rpc_method_handler(
            servicer.FetchSumConstResults,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SumConstResult.SerializeToString,
        ),
        "SystemStatus": grpc.unary_unary_rpc_method_handler(
            servicer.SystemStatus,
            request_deserializer=eqc__direct_dot_eqc__pb2.Empty.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.StatusOutput.SerializeToString,
        ),
        "StopRunning": grpc.unary_unary_rpc_method_handler(
            servicer.StopRunning,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.StatusOutput.SerializeToString,
        ),
        "AcquireLock": grpc.unary_unary_rpc_method_handler(
            servicer.AcquireLock,
            request_deserializer=eqc__direct_dot_eqc__pb2.Empty.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.LockOutput.SerializeToString,
        ),
        "ReleaseLock": grpc.unary_unary_rpc_method_handler(
            servicer.ReleaseLock,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.StatusOutput.SerializeToString,
        ),
        "CheckLock": grpc.unary_unary_rpc_method_handler(
            servicer.CheckLock,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.StatusOutput.SerializeToString,
        ),
        "SystemInfo": grpc.unary_unary_rpc_method_handler(
            servicer.SystemInfo,
            request_deserializer=eqc__direct_dot_eqc__pb2.Empty.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.VersionOutput.SerializeToString,
        ),
        "MixedIntExp": grpc.unary_unary_rpc_method_handler(
            servicer.MixedIntExp,
            request_deserializer=eqc__direct_dot_eqc__pb2.MixedIntExpInput.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SubmitOutput.SerializeToString,
        ),
        "FetchMixedIntExpResults": grpc.unary_unary_rpc_method_handler(
            servicer.FetchMixedIntExpResults,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.MixedIntExpResult.SerializeToString,
        ),
        "SolveSumConstExp": grpc.unary_unary_rpc_method_handler(
            servicer.SolveSumConstExp,
            request_deserializer=eqc__direct_dot_eqc__pb2.SumConstExpInput.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SubmitOutput.SerializeToString,
        ),
        "FetchSumConstExpResults": grpc.unary_unary_rpc_method_handler(
            servicer.FetchSumConstExpResults,
            request_deserializer=eqc__direct_dot_eqc__pb2.LockMessage.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.SumConstExpResult.SerializeToString,
        ),
        "GetPhotonRate": grpc.unary_unary_rpc_method_handler(
            servicer.GetPhotonRate,
            request_deserializer=eqc__direct_dot_eqc__pb2.RateInput.FromString,
            response_serializer=eqc__direct_dot_eqc__pb2.RateOutput.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        "eqc.EqcService", rpc_method_handlers
    )
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def SolveSumConst(
        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,
            "/eqc.EqcService/SolveSumConst",
            eqc__direct_dot_eqc__pb2.SumConstInput.SerializeToString,
            eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SolveInt(
        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,
            "/eqc.EqcService/SolveInt",
            eqc__direct_dot_eqc__pb2.IntInput.SerializeToString,
            eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def FetchIntResults(
        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,
            "/eqc.EqcService/FetchIntResults",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.IntResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def FetchSumConstResults(
        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,
            "/eqc.EqcService/FetchSumConstResults",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.SumConstResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SystemStatus(
        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,
            "/eqc.EqcService/SystemStatus",
            eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def StopRunning(
        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,
            "/eqc.EqcService/StopRunning",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def AcquireLock(
        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,
            "/eqc.EqcService/AcquireLock",
            eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            eqc__direct_dot_eqc__pb2.LockOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def ReleaseLock(
        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,
            "/eqc.EqcService/ReleaseLock",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def CheckLock(
        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,
            "/eqc.EqcService/CheckLock",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.StatusOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SystemInfo(
        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,
            "/eqc.EqcService/SystemInfo",
            eqc__direct_dot_eqc__pb2.Empty.SerializeToString,
            eqc__direct_dot_eqc__pb2.VersionOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def MixedIntExp(
        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,
            "/eqc.EqcService/MixedIntExp",
            eqc__direct_dot_eqc__pb2.MixedIntExpInput.SerializeToString,
            eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def FetchMixedIntExpResults(
        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,
            "/eqc.EqcService/FetchMixedIntExpResults",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.MixedIntExpResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SolveSumConstExp(
        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,
            "/eqc.EqcService/SolveSumConstExp",
            eqc__direct_dot_eqc__pb2.SumConstExpInput.SerializeToString,
            eqc__direct_dot_eqc__pb2.SubmitOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def FetchSumConstExpResults(
        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,
            "/eqc.EqcService/FetchSumConstExpResults",
            eqc__direct_dot_eqc__pb2.LockMessage.SerializeToString,
            eqc__direct_dot_eqc__pb2.SumConstExpResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def GetPhotonRate(
        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,
            "/eqc.EqcService/GetPhotonRate",
            eqc__direct_dot_eqc__pb2.RateInput.SerializeToString,
            eqc__direct_dot_eqc__pb2.RateOutput.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )
