# @generated

# This file was generated by running `python -m dagster_cloud.pex.grpc.compile`
# Do not edit this file directly, and do not attempt to recompile it using
# grpc_tools.protoc directly, as several changes must be made to the raw output

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

from . import multi_pex_api_pb2 as multi__pex__api__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreatePexServer = channel.unary_unary(
                '/multi_pex_api.MultiPexApi/CreatePexServer',
                request_serializer=multi__pex__api__pb2.CreatePexServerRequest.SerializeToString,
                response_deserializer=multi__pex__api__pb2.CreatePexServerReply.FromString,
                )
        self.GetPexServers = channel.unary_unary(
                '/multi_pex_api.MultiPexApi/GetPexServers',
                request_serializer=multi__pex__api__pb2.GetPexServersRequest.SerializeToString,
                response_deserializer=multi__pex__api__pb2.GetPexServersReply.FromString,
                )
        self.GetCrashedPexServers = channel.unary_unary(
                '/multi_pex_api.MultiPexApi/GetCrashedPexServers',
                request_serializer=multi__pex__api__pb2.GetCrashedPexServersRequest.SerializeToString,
                response_deserializer=multi__pex__api__pb2.GetCrashedPexServersReply.FromString,
                )
        self.ShutdownPexServer = channel.unary_unary(
                '/multi_pex_api.MultiPexApi/ShutdownPexServer',
                request_serializer=multi__pex__api__pb2.ShutdownPexServerRequest.SerializeToString,
                response_deserializer=multi__pex__api__pb2.ShutdownPexServerReply.FromString,
                )
        self.Ping = channel.unary_unary(
                '/multi_pex_api.MultiPexApi/Ping',
                request_serializer=multi__pex__api__pb2.PingRequest.SerializeToString,
                response_deserializer=multi__pex__api__pb2.PingReply.FromString,
                )


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

    def CreatePexServer(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 GetPexServers(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 GetCrashedPexServers(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 ShutdownPexServer(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 Ping(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_MultiPexApiServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreatePexServer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreatePexServer,
                    request_deserializer=multi__pex__api__pb2.CreatePexServerRequest.FromString,
                    response_serializer=multi__pex__api__pb2.CreatePexServerReply.SerializeToString,
            ),
            'GetPexServers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPexServers,
                    request_deserializer=multi__pex__api__pb2.GetPexServersRequest.FromString,
                    response_serializer=multi__pex__api__pb2.GetPexServersReply.SerializeToString,
            ),
            'GetCrashedPexServers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCrashedPexServers,
                    request_deserializer=multi__pex__api__pb2.GetCrashedPexServersRequest.FromString,
                    response_serializer=multi__pex__api__pb2.GetCrashedPexServersReply.SerializeToString,
            ),
            'ShutdownPexServer': grpc.unary_unary_rpc_method_handler(
                    servicer.ShutdownPexServer,
                    request_deserializer=multi__pex__api__pb2.ShutdownPexServerRequest.FromString,
                    response_serializer=multi__pex__api__pb2.ShutdownPexServerReply.SerializeToString,
            ),
            'Ping': grpc.unary_unary_rpc_method_handler(
                    servicer.Ping,
                    request_deserializer=multi__pex__api__pb2.PingRequest.FromString,
                    response_serializer=multi__pex__api__pb2.PingReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'multi_pex_api.MultiPexApi', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreatePexServer(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, '/multi_pex_api.MultiPexApi/CreatePexServer',
            multi__pex__api__pb2.CreatePexServerRequest.SerializeToString,
            multi__pex__api__pb2.CreatePexServerReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPexServers(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, '/multi_pex_api.MultiPexApi/GetPexServers',
            multi__pex__api__pb2.GetPexServersRequest.SerializeToString,
            multi__pex__api__pb2.GetPexServersReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetCrashedPexServers(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, '/multi_pex_api.MultiPexApi/GetCrashedPexServers',
            multi__pex__api__pb2.GetCrashedPexServersRequest.SerializeToString,
            multi__pex__api__pb2.GetCrashedPexServersReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShutdownPexServer(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, '/multi_pex_api.MultiPexApi/ShutdownPexServer',
            multi__pex__api__pb2.ShutdownPexServerRequest.SerializeToString,
            multi__pex__api__pb2.ShutdownPexServerReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Ping(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, '/multi_pex_api.MultiPexApi/Ping',
            multi__pex__api__pb2.PingRequest.SerializeToString,
            multi__pex__api__pb2.PingReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
