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

from . import gcs_service_pb2 as src_dot_ray_dot_protobuf_dot_gcs__service__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.AddJob = channel.unary_unary(
                '/ray.rpc.JobInfoGcsService/AddJob',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobReply.FromString,
                )
        self.MarkJobFinished = channel.unary_unary(
                '/ray.rpc.JobInfoGcsService/MarkJobFinished',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedReply.FromString,
                )
        self.GetAllJobInfo = channel.unary_unary(
                '/ray.rpc.JobInfoGcsService/GetAllJobInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoReply.FromString,
                )
        self.ReportJobError = channel.unary_unary(
                '/ray.rpc.JobInfoGcsService/ReportJobError',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorReply.FromString,
                )
        self.GetNextJobID = channel.unary_unary(
                '/ray.rpc.JobInfoGcsService/GetNextJobID',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDReply.FromString,
                )


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

    def AddJob(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 MarkJobFinished(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 GetAllJobInfo(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 ReportJobError(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 GetNextJobID(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_JobInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AddJob': grpc.unary_unary_rpc_method_handler(
                    servicer.AddJob,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobReply.SerializeToString,
            ),
            'MarkJobFinished': grpc.unary_unary_rpc_method_handler(
                    servicer.MarkJobFinished,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedReply.SerializeToString,
            ),
            'GetAllJobInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllJobInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoReply.SerializeToString,
            ),
            'ReportJobError': grpc.unary_unary_rpc_method_handler(
                    servicer.ReportJobError,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorReply.SerializeToString,
            ),
            'GetNextJobID': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNextJobID,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.JobInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def AddJob(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, '/ray.rpc.JobInfoGcsService/AddJob',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddJobReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MarkJobFinished(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, '/ray.rpc.JobInfoGcsService/MarkJobFinished',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.MarkJobFinishedReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllJobInfo(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, '/ray.rpc.JobInfoGcsService/GetAllJobInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllJobInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReportJobError(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, '/ray.rpc.JobInfoGcsService/ReportJobError',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportJobErrorReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNextJobID(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, '/ray.rpc.JobInfoGcsService/GetNextJobID',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNextJobIDReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.RegisterActor = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/RegisterActor',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorReply.FromString,
                )
        self.CreateActor = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/CreateActor',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorReply.FromString,
                )
        self.GetActorInfo = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/GetActorInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoReply.FromString,
                )
        self.GetNamedActorInfo = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/GetNamedActorInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoReply.FromString,
                )
        self.ListNamedActors = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/ListNamedActors',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsReply.FromString,
                )
        self.GetAllActorInfo = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/GetAllActorInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoReply.FromString,
                )
        self.KillActorViaGcs = channel.unary_unary(
                '/ray.rpc.ActorInfoGcsService/KillActorViaGcs',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsReply.FromString,
                )


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

    def RegisterActor(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 CreateActor(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 GetActorInfo(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 GetNamedActorInfo(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 ListNamedActors(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 GetAllActorInfo(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 KillActorViaGcs(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_ActorInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'RegisterActor': grpc.unary_unary_rpc_method_handler(
                    servicer.RegisterActor,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorReply.SerializeToString,
            ),
            'CreateActor': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateActor,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorReply.SerializeToString,
            ),
            'GetActorInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetActorInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoReply.SerializeToString,
            ),
            'GetNamedActorInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNamedActorInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoReply.SerializeToString,
            ),
            'ListNamedActors': grpc.unary_unary_rpc_method_handler(
                    servicer.ListNamedActors,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsReply.SerializeToString,
            ),
            'GetAllActorInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllActorInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoReply.SerializeToString,
            ),
            'KillActorViaGcs': grpc.unary_unary_rpc_method_handler(
                    servicer.KillActorViaGcs,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.ActorInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def RegisterActor(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, '/ray.rpc.ActorInfoGcsService/RegisterActor',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterActorReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateActor(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, '/ray.rpc.ActorInfoGcsService/CreateActor',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreateActorReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetActorInfo(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, '/ray.rpc.ActorInfoGcsService/GetActorInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetActorInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNamedActorInfo(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, '/ray.rpc.ActorInfoGcsService/GetNamedActorInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedActorInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListNamedActors(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, '/ray.rpc.ActorInfoGcsService/ListNamedActors',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ListNamedActorsReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllActorInfo(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, '/ray.rpc.ActorInfoGcsService/GetAllActorInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllActorInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KillActorViaGcs(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, '/ray.rpc.ActorInfoGcsService/KillActorViaGcs',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.KillActorViaGcsReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ReportHeartbeat = channel.unary_unary(
                '/ray.rpc.HeartbeatInfoGcsService/ReportHeartbeat',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatReply.FromString,
                )
        self.CheckAlive = channel.unary_unary(
                '/ray.rpc.HeartbeatInfoGcsService/CheckAlive',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveReply.FromString,
                )


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

    def ReportHeartbeat(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 CheckAlive(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_HeartbeatInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ReportHeartbeat': grpc.unary_unary_rpc_method_handler(
                    servicer.ReportHeartbeat,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatReply.SerializeToString,
            ),
            'CheckAlive': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckAlive,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.HeartbeatInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ReportHeartbeat(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, '/ray.rpc.HeartbeatInfoGcsService/ReportHeartbeat',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportHeartbeatReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckAlive(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, '/ray.rpc.HeartbeatInfoGcsService/CheckAlive',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CheckAliveReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.AddTask = channel.unary_unary(
                '/ray.rpc.TaskInfoGcsService/AddTask',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskReply.FromString,
                )
        self.GetTask = channel.unary_unary(
                '/ray.rpc.TaskInfoGcsService/GetTask',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskReply.FromString,
                )
        self.AddTaskLease = channel.unary_unary(
                '/ray.rpc.TaskInfoGcsService/AddTaskLease',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseReply.FromString,
                )
        self.GetTaskLease = channel.unary_unary(
                '/ray.rpc.TaskInfoGcsService/GetTaskLease',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseReply.FromString,
                )
        self.AttemptTaskReconstruction = channel.unary_unary(
                '/ray.rpc.TaskInfoGcsService/AttemptTaskReconstruction',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionReply.FromString,
                )


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

    def AddTask(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 GetTask(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 AddTaskLease(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 GetTaskLease(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 AttemptTaskReconstruction(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_TaskInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AddTask': grpc.unary_unary_rpc_method_handler(
                    servicer.AddTask,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskReply.SerializeToString,
            ),
            'GetTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTask,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskReply.SerializeToString,
            ),
            'AddTaskLease': grpc.unary_unary_rpc_method_handler(
                    servicer.AddTaskLease,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseReply.SerializeToString,
            ),
            'GetTaskLease': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTaskLease,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseReply.SerializeToString,
            ),
            'AttemptTaskReconstruction': grpc.unary_unary_rpc_method_handler(
                    servicer.AttemptTaskReconstruction,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.TaskInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def AddTask(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, '/ray.rpc.TaskInfoGcsService/AddTask',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTask(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, '/ray.rpc.TaskInfoGcsService/GetTask',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddTaskLease(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, '/ray.rpc.TaskInfoGcsService/AddTaskLease',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddTaskLeaseReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTaskLease(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, '/ray.rpc.TaskInfoGcsService/GetTaskLease',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetTaskLeaseReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AttemptTaskReconstruction(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, '/ray.rpc.TaskInfoGcsService/AttemptTaskReconstruction',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AttemptTaskReconstructionReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.AddProfileData = channel.unary_unary(
                '/ray.rpc.StatsGcsService/AddProfileData',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataReply.FromString,
                )
        self.GetAllProfileInfo = channel.unary_unary(
                '/ray.rpc.StatsGcsService/GetAllProfileInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoReply.FromString,
                )


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

    def AddProfileData(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 GetAllProfileInfo(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_StatsGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AddProfileData': grpc.unary_unary_rpc_method_handler(
                    servicer.AddProfileData,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataReply.SerializeToString,
            ),
            'GetAllProfileInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllProfileInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.StatsGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def AddProfileData(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, '/ray.rpc.StatsGcsService/AddProfileData',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddProfileDataReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllProfileInfo(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, '/ray.rpc.StatsGcsService/GetAllProfileInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllProfileInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ReportWorkerFailure = channel.unary_unary(
                '/ray.rpc.WorkerInfoGcsService/ReportWorkerFailure',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureReply.FromString,
                )
        self.GetWorkerInfo = channel.unary_unary(
                '/ray.rpc.WorkerInfoGcsService/GetWorkerInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoReply.FromString,
                )
        self.GetAllWorkerInfo = channel.unary_unary(
                '/ray.rpc.WorkerInfoGcsService/GetAllWorkerInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoReply.FromString,
                )
        self.AddWorkerInfo = channel.unary_unary(
                '/ray.rpc.WorkerInfoGcsService/AddWorkerInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoReply.FromString,
                )


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

    def ReportWorkerFailure(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 GetWorkerInfo(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 GetAllWorkerInfo(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 AddWorkerInfo(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_WorkerInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ReportWorkerFailure': grpc.unary_unary_rpc_method_handler(
                    servicer.ReportWorkerFailure,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureReply.SerializeToString,
            ),
            'GetWorkerInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWorkerInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoReply.SerializeToString,
            ),
            'GetAllWorkerInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllWorkerInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoReply.SerializeToString,
            ),
            'AddWorkerInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.AddWorkerInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.WorkerInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ReportWorkerFailure(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, '/ray.rpc.WorkerInfoGcsService/ReportWorkerFailure',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportWorkerFailureReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetWorkerInfo(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, '/ray.rpc.WorkerInfoGcsService/GetWorkerInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetWorkerInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllWorkerInfo(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, '/ray.rpc.WorkerInfoGcsService/GetAllWorkerInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllWorkerInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddWorkerInfo(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, '/ray.rpc.WorkerInfoGcsService/AddWorkerInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.AddWorkerInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreatePlacementGroup = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/CreatePlacementGroup',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupReply.FromString,
                )
        self.RemovePlacementGroup = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/RemovePlacementGroup',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupReply.FromString,
                )
        self.GetPlacementGroup = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/GetPlacementGroup',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupReply.FromString,
                )
        self.GetNamedPlacementGroup = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/GetNamedPlacementGroup',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupReply.FromString,
                )
        self.GetAllPlacementGroup = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/GetAllPlacementGroup',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupReply.FromString,
                )
        self.WaitPlacementGroupUntilReady = channel.unary_unary(
                '/ray.rpc.PlacementGroupInfoGcsService/WaitPlacementGroupUntilReady',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyReply.FromString,
                )


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

    def CreatePlacementGroup(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 RemovePlacementGroup(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 GetPlacementGroup(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 GetNamedPlacementGroup(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 GetAllPlacementGroup(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 WaitPlacementGroupUntilReady(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_PlacementGroupInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreatePlacementGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.CreatePlacementGroup,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupReply.SerializeToString,
            ),
            'RemovePlacementGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.RemovePlacementGroup,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupReply.SerializeToString,
            ),
            'GetPlacementGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPlacementGroup,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupReply.SerializeToString,
            ),
            'GetNamedPlacementGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNamedPlacementGroup,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupReply.SerializeToString,
            ),
            'GetAllPlacementGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllPlacementGroup,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupReply.SerializeToString,
            ),
            'WaitPlacementGroupUntilReady': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitPlacementGroupUntilReady,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.PlacementGroupInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreatePlacementGroup(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, '/ray.rpc.PlacementGroupInfoGcsService/CreatePlacementGroup',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.CreatePlacementGroupReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemovePlacementGroup(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, '/ray.rpc.PlacementGroupInfoGcsService/RemovePlacementGroup',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RemovePlacementGroupReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPlacementGroup(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, '/ray.rpc.PlacementGroupInfoGcsService/GetPlacementGroup',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetPlacementGroupReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNamedPlacementGroup(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, '/ray.rpc.PlacementGroupInfoGcsService/GetNamedPlacementGroup',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetNamedPlacementGroupReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllPlacementGroup(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, '/ray.rpc.PlacementGroupInfoGcsService/GetAllPlacementGroup',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllPlacementGroupReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitPlacementGroupUntilReady(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, '/ray.rpc.PlacementGroupInfoGcsService/WaitPlacementGroupUntilReady',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.WaitPlacementGroupUntilReadyReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.InternalKVGet = channel.unary_unary(
                '/ray.rpc.InternalKVGcsService/InternalKVGet',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetReply.FromString,
                )
        self.InternalKVPut = channel.unary_unary(
                '/ray.rpc.InternalKVGcsService/InternalKVPut',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutReply.FromString,
                )
        self.InternalKVDel = channel.unary_unary(
                '/ray.rpc.InternalKVGcsService/InternalKVDel',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelReply.FromString,
                )
        self.InternalKVExists = channel.unary_unary(
                '/ray.rpc.InternalKVGcsService/InternalKVExists',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsReply.FromString,
                )
        self.InternalKVKeys = channel.unary_unary(
                '/ray.rpc.InternalKVGcsService/InternalKVKeys',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysReply.FromString,
                )


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

    def InternalKVGet(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 InternalKVPut(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 InternalKVDel(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 InternalKVExists(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 InternalKVKeys(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_InternalKVGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'InternalKVGet': grpc.unary_unary_rpc_method_handler(
                    servicer.InternalKVGet,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetReply.SerializeToString,
            ),
            'InternalKVPut': grpc.unary_unary_rpc_method_handler(
                    servicer.InternalKVPut,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutReply.SerializeToString,
            ),
            'InternalKVDel': grpc.unary_unary_rpc_method_handler(
                    servicer.InternalKVDel,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelReply.SerializeToString,
            ),
            'InternalKVExists': grpc.unary_unary_rpc_method_handler(
                    servicer.InternalKVExists,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsReply.SerializeToString,
            ),
            'InternalKVKeys': grpc.unary_unary_rpc_method_handler(
                    servicer.InternalKVKeys,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.InternalKVGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def InternalKVGet(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, '/ray.rpc.InternalKVGcsService/InternalKVGet',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVGetReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InternalKVPut(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, '/ray.rpc.InternalKVGcsService/InternalKVPut',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVPutReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InternalKVDel(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, '/ray.rpc.InternalKVGcsService/InternalKVDel',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVDelReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InternalKVExists(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, '/ray.rpc.InternalKVGcsService/InternalKVExists',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVExistsReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InternalKVKeys(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, '/ray.rpc.InternalKVGcsService/InternalKVKeys',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.InternalKVKeysReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GcsPublish = channel.unary_unary(
                '/ray.rpc.InternalPubSubGcsService/GcsPublish',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishReply.FromString,
                )
        self.GcsSubscriberPoll = channel.unary_unary(
                '/ray.rpc.InternalPubSubGcsService/GcsSubscriberPoll',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollReply.FromString,
                )
        self.GcsSubscriberCommandBatch = channel.unary_unary(
                '/ray.rpc.InternalPubSubGcsService/GcsSubscriberCommandBatch',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchReply.FromString,
                )


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

    def GcsPublish(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 GcsSubscriberPoll(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 GcsSubscriberCommandBatch(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_InternalPubSubGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GcsPublish': grpc.unary_unary_rpc_method_handler(
                    servicer.GcsPublish,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishReply.SerializeToString,
            ),
            'GcsSubscriberPoll': grpc.unary_unary_rpc_method_handler(
                    servicer.GcsSubscriberPoll,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollReply.SerializeToString,
            ),
            'GcsSubscriberCommandBatch': grpc.unary_unary_rpc_method_handler(
                    servicer.GcsSubscriberCommandBatch,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.InternalPubSubGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GcsPublish(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, '/ray.rpc.InternalPubSubGcsService/GcsPublish',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsPublishReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GcsSubscriberPoll(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, '/ray.rpc.InternalPubSubGcsService/GcsSubscriberPoll',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberPollReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GcsSubscriberCommandBatch(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, '/ray.rpc.InternalPubSubGcsService/GcsSubscriberCommandBatch',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GcsSubscriberCommandBatchReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetResources = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/GetResources',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesReply.FromString,
                )
        self.UpdateResources = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/UpdateResources',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesReply.FromString,
                )
        self.DeleteResources = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/DeleteResources',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesReply.FromString,
                )
        self.GetAllAvailableResources = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/GetAllAvailableResources',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesReply.FromString,
                )
        self.ReportResourceUsage = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/ReportResourceUsage',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageReply.FromString,
                )
        self.GetAllResourceUsage = channel.unary_unary(
                '/ray.rpc.NodeResourceInfoGcsService/GetAllResourceUsage',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageReply.FromString,
                )


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

    def GetResources(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 UpdateResources(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 DeleteResources(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 GetAllAvailableResources(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 ReportResourceUsage(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 GetAllResourceUsage(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_NodeResourceInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetResources': grpc.unary_unary_rpc_method_handler(
                    servicer.GetResources,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesReply.SerializeToString,
            ),
            'UpdateResources': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateResources,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesReply.SerializeToString,
            ),
            'DeleteResources': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteResources,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesReply.SerializeToString,
            ),
            'GetAllAvailableResources': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllAvailableResources,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesReply.SerializeToString,
            ),
            'ReportResourceUsage': grpc.unary_unary_rpc_method_handler(
                    servicer.ReportResourceUsage,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageReply.SerializeToString,
            ),
            'GetAllResourceUsage': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllResourceUsage,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.NodeResourceInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GetResources(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, '/ray.rpc.NodeResourceInfoGcsService/GetResources',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetResourcesReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateResources(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, '/ray.rpc.NodeResourceInfoGcsService/UpdateResources',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.UpdateResourcesReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteResources(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, '/ray.rpc.NodeResourceInfoGcsService/DeleteResources',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DeleteResourcesReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllAvailableResources(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, '/ray.rpc.NodeResourceInfoGcsService/GetAllAvailableResources',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllAvailableResourcesReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReportResourceUsage(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, '/ray.rpc.NodeResourceInfoGcsService/ReportResourceUsage',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.ReportResourceUsageReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllResourceUsage(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, '/ray.rpc.NodeResourceInfoGcsService/GetAllResourceUsage',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllResourceUsageReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.RegisterNode = channel.unary_unary(
                '/ray.rpc.NodeInfoGcsService/RegisterNode',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeReply.FromString,
                )
        self.DrainNode = channel.unary_unary(
                '/ray.rpc.NodeInfoGcsService/DrainNode',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeReply.FromString,
                )
        self.GetAllNodeInfo = channel.unary_unary(
                '/ray.rpc.NodeInfoGcsService/GetAllNodeInfo',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoReply.FromString,
                )
        self.GetInternalConfig = channel.unary_unary(
                '/ray.rpc.NodeInfoGcsService/GetInternalConfig',
                request_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigRequest.SerializeToString,
                response_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigReply.FromString,
                )


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

    def RegisterNode(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 DrainNode(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 GetAllNodeInfo(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 GetInternalConfig(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_NodeInfoGcsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'RegisterNode': grpc.unary_unary_rpc_method_handler(
                    servicer.RegisterNode,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeReply.SerializeToString,
            ),
            'DrainNode': grpc.unary_unary_rpc_method_handler(
                    servicer.DrainNode,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeReply.SerializeToString,
            ),
            'GetAllNodeInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllNodeInfo,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoReply.SerializeToString,
            ),
            'GetInternalConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInternalConfig,
                    request_deserializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigRequest.FromString,
                    response_serializer=src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'ray.rpc.NodeInfoGcsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def RegisterNode(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, '/ray.rpc.NodeInfoGcsService/RegisterNode',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.RegisterNodeReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DrainNode(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, '/ray.rpc.NodeInfoGcsService/DrainNode',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.DrainNodeReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllNodeInfo(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, '/ray.rpc.NodeInfoGcsService/GetAllNodeInfo',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetAllNodeInfoReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetInternalConfig(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, '/ray.rpc.NodeInfoGcsService/GetInternalConfig',
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigRequest.SerializeToString,
            src_dot_ray_dot_protobuf_dot_gcs__service__pb2.GetInternalConfigReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
