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

from ev3sim.simulation import comm_schema_pb2 as ev3sim_dot_simulation_dot_comm__schema__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.RequestTickUpdates = channel.unary_stream(
            "/serverComm.SimulationDealer/RequestTickUpdates",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotData.FromString,
        )
        self.SendWriteInfo = channel.unary_unary(
            "/serverComm.SimulationDealer/SendWriteInfo",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotWrite.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.WriteResult.FromString,
        )
        self.SendRobotLog = channel.unary_unary(
            "/serverComm.SimulationDealer/SendRobotLog",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogResult.FromString,
        )
        self.RequestServer = channel.unary_unary(
            "/serverComm.SimulationDealer/RequestServer",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ServerRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ServerResult.FromString,
        )
        self.RequestConnect = channel.unary_unary(
            "/serverComm.SimulationDealer/RequestConnect",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ClientRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ClientResult.FromString,
        )
        self.RequestSend = channel.unary_unary(
            "/serverComm.SimulationDealer/RequestSend",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.SendRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.SendResult.FromString,
        )
        self.RequestRecv = channel.unary_unary(
            "/serverComm.SimulationDealer/RequestRecv",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RecvRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RecvResult.FromString,
        )
        self.RequestGetClient = channel.unary_unary(
            "/serverComm.SimulationDealer/RequestGetClient",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientResult.FromString,
        )
        self.CloseServerConnection = channel.unary_unary(
            "/serverComm.SimulationDealer/CloseServerConnection",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerResult.FromString,
        )
        self.CloseClientConnection = channel.unary_unary(
            "/serverComm.SimulationDealer/CloseClientConnection",
            request_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientRequest.SerializeToString,
            response_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientResult.FromString,
        )


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

    def RequestTickUpdates(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 SendWriteInfo(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 SendRobotLog(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 RequestServer(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 RequestConnect(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 RequestSend(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 RequestRecv(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 RequestGetClient(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 CloseServerConnection(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 CloseClientConnection(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_SimulationDealerServicer_to_server(servicer, server):
    rpc_method_handlers = {
        "RequestTickUpdates": grpc.unary_stream_rpc_method_handler(
            servicer.RequestTickUpdates,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotData.SerializeToString,
        ),
        "SendWriteInfo": grpc.unary_unary_rpc_method_handler(
            servicer.SendWriteInfo,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotWrite.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.WriteResult.SerializeToString,
        ),
        "SendRobotLog": grpc.unary_unary_rpc_method_handler(
            servicer.SendRobotLog,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogResult.SerializeToString,
        ),
        "RequestServer": grpc.unary_unary_rpc_method_handler(
            servicer.RequestServer,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ServerRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ServerResult.SerializeToString,
        ),
        "RequestConnect": grpc.unary_unary_rpc_method_handler(
            servicer.RequestConnect,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ClientRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.ClientResult.SerializeToString,
        ),
        "RequestSend": grpc.unary_unary_rpc_method_handler(
            servicer.RequestSend,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.SendRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.SendResult.SerializeToString,
        ),
        "RequestRecv": grpc.unary_unary_rpc_method_handler(
            servicer.RequestRecv,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RecvRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.RecvResult.SerializeToString,
        ),
        "RequestGetClient": grpc.unary_unary_rpc_method_handler(
            servicer.RequestGetClient,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientResult.SerializeToString,
        ),
        "CloseServerConnection": grpc.unary_unary_rpc_method_handler(
            servicer.CloseServerConnection,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerResult.SerializeToString,
        ),
        "CloseClientConnection": grpc.unary_unary_rpc_method_handler(
            servicer.CloseClientConnection,
            request_deserializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientRequest.FromString,
            response_serializer=ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientResult.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler("serverComm.SimulationDealer", rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def RequestTickUpdates(
        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_stream(
            request,
            target,
            "/serverComm.SimulationDealer/RequestTickUpdates",
            ev3sim_dot_simulation_dot_comm__schema__pb2.RobotRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.RobotData.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SendWriteInfo(
        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,
            "/serverComm.SimulationDealer/SendWriteInfo",
            ev3sim_dot_simulation_dot_comm__schema__pb2.RobotWrite.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.WriteResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def SendRobotLog(
        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,
            "/serverComm.SimulationDealer/SendRobotLog",
            ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.RobotLogResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def RequestServer(
        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,
            "/serverComm.SimulationDealer/RequestServer",
            ev3sim_dot_simulation_dot_comm__schema__pb2.ServerRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.ServerResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def RequestConnect(
        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,
            "/serverComm.SimulationDealer/RequestConnect",
            ev3sim_dot_simulation_dot_comm__schema__pb2.ClientRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.ClientResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def RequestSend(
        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,
            "/serverComm.SimulationDealer/RequestSend",
            ev3sim_dot_simulation_dot_comm__schema__pb2.SendRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.SendResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def RequestRecv(
        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,
            "/serverComm.SimulationDealer/RequestRecv",
            ev3sim_dot_simulation_dot_comm__schema__pb2.RecvRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.RecvResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def RequestGetClient(
        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,
            "/serverComm.SimulationDealer/RequestGetClient",
            ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.GetClientResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def CloseServerConnection(
        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,
            "/serverComm.SimulationDealer/CloseServerConnection",
            ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.CloseServerResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )

    @staticmethod
    def CloseClientConnection(
        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,
            "/serverComm.SimulationDealer/CloseClientConnection",
            ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientRequest.SerializeToString,
            ev3sim_dot_simulation_dot_comm__schema__pb2.CloseClientResult.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
        )
