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

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from voltha_protos import common_pb2 as voltha__protos_dot_common__pb2
from voltha_protos import core_adapter_pb2 as voltha__protos_dot_core__adapter__pb2
from voltha_protos import device_pb2 as voltha__protos_dot_device__pb2
from voltha_protos import health_pb2 as voltha__protos_dot_health__pb2


class CoreServiceStub(object):
    """The CoreService is a gRPC service implemented by the Voltha RW-Core for the
    sole purpose of serving requests/updates from the Voltha adapters. 
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetHealthStatus = channel.unary_unary(
                '/core_service.CoreService/GetHealthStatus',
                request_serializer=voltha__protos_dot_common__pb2.Connection.SerializeToString,
                response_deserializer=voltha__protos_dot_health__pb2.HealthStatus.FromString,
                )
        self.RegisterAdapter = channel.unary_unary(
                '/core_service.CoreService/RegisterAdapter',
                request_serializer=voltha__protos_dot_core__adapter__pb2.AdapterRegistration.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.DeviceUpdate = channel.unary_unary(
                '/core_service.CoreService/DeviceUpdate',
                request_serializer=voltha__protos_dot_device__pb2.Device.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.PortCreated = channel.unary_unary(
                '/core_service.CoreService/PortCreated',
                request_serializer=voltha__protos_dot_device__pb2.Port.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.PortsStateUpdate = channel.unary_unary(
                '/core_service.CoreService/PortsStateUpdate',
                request_serializer=voltha__protos_dot_core__adapter__pb2.PortStateFilter.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.DeleteAllPorts = channel.unary_unary(
                '/core_service.CoreService/DeleteAllPorts',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetDevicePort = channel.unary_unary(
                '/core_service.CoreService/GetDevicePort',
                request_serializer=voltha__protos_dot_core__adapter__pb2.PortFilter.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Port.FromString,
                )
        self.ListDevicePorts = channel.unary_unary(
                '/core_service.CoreService/ListDevicePorts',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Ports.FromString,
                )
        self.DeviceStateUpdate = channel.unary_unary(
                '/core_service.CoreService/DeviceStateUpdate',
                request_serializer=voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.DevicePMConfigUpdate = channel.unary_unary(
                '/core_service.CoreService/DevicePMConfigUpdate',
                request_serializer=voltha__protos_dot_device__pb2.PmConfigs.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ChildDeviceDetected = channel.unary_unary(
                '/core_service.CoreService/ChildDeviceDetected',
                request_serializer=voltha__protos_dot_core__adapter__pb2.DeviceDiscovery.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Device.FromString,
                )
        self.ChildDevicesLost = channel.unary_unary(
                '/core_service.CoreService/ChildDevicesLost',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ChildDevicesDetected = channel.unary_unary(
                '/core_service.CoreService/ChildDevicesDetected',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetDevice = channel.unary_unary(
                '/core_service.CoreService/GetDevice',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Device.FromString,
                )
        self.GetChildDevice = channel.unary_unary(
                '/core_service.CoreService/GetChildDevice',
                request_serializer=voltha__protos_dot_core__adapter__pb2.ChildDeviceFilter.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Device.FromString,
                )
        self.GetChildDevices = channel.unary_unary(
                '/core_service.CoreService/GetChildDevices',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Devices.FromString,
                )
        self.SendPacketIn = channel.unary_unary(
                '/core_service.CoreService/SendPacketIn',
                request_serializer=voltha__protos_dot_core__adapter__pb2.PacketIn.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.DeviceReasonUpdate = channel.unary_unary(
                '/core_service.CoreService/DeviceReasonUpdate',
                request_serializer=voltha__protos_dot_core__adapter__pb2.DeviceReason.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.PortStateUpdate = channel.unary_unary(
                '/core_service.CoreService/PortStateUpdate',
                request_serializer=voltha__protos_dot_core__adapter__pb2.PortState.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ReconcileChildDevices = channel.unary_unary(
                '/core_service.CoreService/ReconcileChildDevices',
                request_serializer=voltha__protos_dot_common__pb2.ID.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.GetChildDeviceWithProxyAddress = channel.unary_unary(
                '/core_service.CoreService/GetChildDeviceWithProxyAddress',
                request_serializer=voltha__protos_dot_device__pb2.Device.ProxyAddress.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Device.FromString,
                )
        self.GetPorts = channel.unary_unary(
                '/core_service.CoreService/GetPorts',
                request_serializer=voltha__protos_dot_core__adapter__pb2.PortFilter.SerializeToString,
                response_deserializer=voltha__protos_dot_device__pb2.Ports.FromString,
                )
        self.ChildrenStateUpdate = channel.unary_unary(
                '/core_service.CoreService/ChildrenStateUpdate',
                request_serializer=voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateImageDownload = channel.unary_unary(
                '/core_service.CoreService/UpdateImageDownload',
                request_serializer=voltha__protos_dot_device__pb2.ImageDownload.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )


class CoreServiceServicer(object):
    """The CoreService is a gRPC service implemented by the Voltha RW-Core for the
    sole purpose of serving requests/updates from the Voltha adapters. 
    """

    def GetHealthStatus(self, request, context):
        """	 in coreProxy interface
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RegisterAdapter(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 DeviceUpdate(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 PortCreated(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 PortsStateUpdate(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 DeleteAllPorts(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 GetDevicePort(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 ListDevicePorts(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 DeviceStateUpdate(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 DevicePMConfigUpdate(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 ChildDeviceDetected(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 ChildDevicesLost(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 ChildDevicesDetected(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 GetDevice(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 GetChildDevice(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 GetChildDevices(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 SendPacketIn(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 DeviceReasonUpdate(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 PortStateUpdate(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 ReconcileChildDevices(self, request, context):
        """Additional API found in the Core - unused?
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetChildDeviceWithProxyAddress(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 GetPorts(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 ChildrenStateUpdate(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 UpdateImageDownload(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_CoreServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetHealthStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetHealthStatus,
                    request_deserializer=voltha__protos_dot_common__pb2.Connection.FromString,
                    response_serializer=voltha__protos_dot_health__pb2.HealthStatus.SerializeToString,
            ),
            'RegisterAdapter': grpc.unary_unary_rpc_method_handler(
                    servicer.RegisterAdapter,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.AdapterRegistration.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'DeviceUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.DeviceUpdate,
                    request_deserializer=voltha__protos_dot_device__pb2.Device.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'PortCreated': grpc.unary_unary_rpc_method_handler(
                    servicer.PortCreated,
                    request_deserializer=voltha__protos_dot_device__pb2.Port.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'PortsStateUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.PortsStateUpdate,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.PortStateFilter.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'DeleteAllPorts': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteAllPorts,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetDevicePort': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDevicePort,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.PortFilter.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Port.SerializeToString,
            ),
            'ListDevicePorts': grpc.unary_unary_rpc_method_handler(
                    servicer.ListDevicePorts,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Ports.SerializeToString,
            ),
            'DeviceStateUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.DeviceStateUpdate,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'DevicePMConfigUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.DevicePMConfigUpdate,
                    request_deserializer=voltha__protos_dot_device__pb2.PmConfigs.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ChildDeviceDetected': grpc.unary_unary_rpc_method_handler(
                    servicer.ChildDeviceDetected,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.DeviceDiscovery.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Device.SerializeToString,
            ),
            'ChildDevicesLost': grpc.unary_unary_rpc_method_handler(
                    servicer.ChildDevicesLost,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ChildDevicesDetected': grpc.unary_unary_rpc_method_handler(
                    servicer.ChildDevicesDetected,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDevice,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Device.SerializeToString,
            ),
            'GetChildDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.GetChildDevice,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.ChildDeviceFilter.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Device.SerializeToString,
            ),
            'GetChildDevices': grpc.unary_unary_rpc_method_handler(
                    servicer.GetChildDevices,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Devices.SerializeToString,
            ),
            'SendPacketIn': grpc.unary_unary_rpc_method_handler(
                    servicer.SendPacketIn,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.PacketIn.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'DeviceReasonUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.DeviceReasonUpdate,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.DeviceReason.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'PortStateUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.PortStateUpdate,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.PortState.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ReconcileChildDevices': grpc.unary_unary_rpc_method_handler(
                    servicer.ReconcileChildDevices,
                    request_deserializer=voltha__protos_dot_common__pb2.ID.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'GetChildDeviceWithProxyAddress': grpc.unary_unary_rpc_method_handler(
                    servicer.GetChildDeviceWithProxyAddress,
                    request_deserializer=voltha__protos_dot_device__pb2.Device.ProxyAddress.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Device.SerializeToString,
            ),
            'GetPorts': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPorts,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.PortFilter.FromString,
                    response_serializer=voltha__protos_dot_device__pb2.Ports.SerializeToString,
            ),
            'ChildrenStateUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.ChildrenStateUpdate,
                    request_deserializer=voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateImageDownload': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateImageDownload,
                    request_deserializer=voltha__protos_dot_device__pb2.ImageDownload.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'core_service.CoreService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class CoreService(object):
    """The CoreService is a gRPC service implemented by the Voltha RW-Core for the
    sole purpose of serving requests/updates from the Voltha adapters. 
    """

    @staticmethod
    def GetHealthStatus(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, '/core_service.CoreService/GetHealthStatus',
            voltha__protos_dot_common__pb2.Connection.SerializeToString,
            voltha__protos_dot_health__pb2.HealthStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RegisterAdapter(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, '/core_service.CoreService/RegisterAdapter',
            voltha__protos_dot_core__adapter__pb2.AdapterRegistration.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeviceUpdate(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, '/core_service.CoreService/DeviceUpdate',
            voltha__protos_dot_device__pb2.Device.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PortCreated(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, '/core_service.CoreService/PortCreated',
            voltha__protos_dot_device__pb2.Port.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PortsStateUpdate(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, '/core_service.CoreService/PortsStateUpdate',
            voltha__protos_dot_core__adapter__pb2.PortStateFilter.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteAllPorts(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, '/core_service.CoreService/DeleteAllPorts',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDevicePort(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, '/core_service.CoreService/GetDevicePort',
            voltha__protos_dot_core__adapter__pb2.PortFilter.SerializeToString,
            voltha__protos_dot_device__pb2.Port.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListDevicePorts(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, '/core_service.CoreService/ListDevicePorts',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            voltha__protos_dot_device__pb2.Ports.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeviceStateUpdate(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, '/core_service.CoreService/DeviceStateUpdate',
            voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DevicePMConfigUpdate(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, '/core_service.CoreService/DevicePMConfigUpdate',
            voltha__protos_dot_device__pb2.PmConfigs.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ChildDeviceDetected(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, '/core_service.CoreService/ChildDeviceDetected',
            voltha__protos_dot_core__adapter__pb2.DeviceDiscovery.SerializeToString,
            voltha__protos_dot_device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ChildDevicesLost(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, '/core_service.CoreService/ChildDevicesLost',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ChildDevicesDetected(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, '/core_service.CoreService/ChildDevicesDetected',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDevice(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, '/core_service.CoreService/GetDevice',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            voltha__protos_dot_device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetChildDevice(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, '/core_service.CoreService/GetChildDevice',
            voltha__protos_dot_core__adapter__pb2.ChildDeviceFilter.SerializeToString,
            voltha__protos_dot_device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetChildDevices(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, '/core_service.CoreService/GetChildDevices',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            voltha__protos_dot_device__pb2.Devices.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendPacketIn(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, '/core_service.CoreService/SendPacketIn',
            voltha__protos_dot_core__adapter__pb2.PacketIn.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeviceReasonUpdate(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, '/core_service.CoreService/DeviceReasonUpdate',
            voltha__protos_dot_core__adapter__pb2.DeviceReason.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PortStateUpdate(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, '/core_service.CoreService/PortStateUpdate',
            voltha__protos_dot_core__adapter__pb2.PortState.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReconcileChildDevices(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, '/core_service.CoreService/ReconcileChildDevices',
            voltha__protos_dot_common__pb2.ID.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetChildDeviceWithProxyAddress(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, '/core_service.CoreService/GetChildDeviceWithProxyAddress',
            voltha__protos_dot_device__pb2.Device.ProxyAddress.SerializeToString,
            voltha__protos_dot_device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPorts(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, '/core_service.CoreService/GetPorts',
            voltha__protos_dot_core__adapter__pb2.PortFilter.SerializeToString,
            voltha__protos_dot_device__pb2.Ports.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ChildrenStateUpdate(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, '/core_service.CoreService/ChildrenStateUpdate',
            voltha__protos_dot_core__adapter__pb2.DeviceStateFilter.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateImageDownload(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, '/core_service.CoreService/UpdateImageDownload',
            voltha__protos_dot_device__pb2.ImageDownload.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
