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

from voltha_protos import common_pb2 as voltha__protos_dot_common__pb2
from voltha_protos import ext_config_pb2 as voltha__protos_dot_ext__config__pb2
from voltha_protos import extensions_pb2 as voltha__protos_dot_extensions__pb2
from voltha_protos import openolt_pb2 as voltha__protos_dot_openolt__pb2
from voltha_protos import tech_profile_pb2 as voltha__protos_dot_tech__profile__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.DisableOlt = channel.unary_unary(
                '/openolt.Openolt/DisableOlt',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.ReenableOlt = channel.unary_unary(
                '/openolt.Openolt/ReenableOlt',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.ActivateOnu = channel.unary_unary(
                '/openolt.Openolt/ActivateOnu',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.DeactivateOnu = channel.unary_unary(
                '/openolt.Openolt/DeactivateOnu',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.DeleteOnu = channel.unary_unary(
                '/openolt.Openolt/DeleteOnu',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.OmciMsgOut = channel.unary_unary(
                '/openolt.Openolt/OmciMsgOut',
                request_serializer=voltha__protos_dot_openolt__pb2.OmciMsg.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.OnuPacketOut = channel.unary_unary(
                '/openolt.Openolt/OnuPacketOut',
                request_serializer=voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.UplinkPacketOut = channel.unary_unary(
                '/openolt.Openolt/UplinkPacketOut',
                request_serializer=voltha__protos_dot_openolt__pb2.UplinkPacket.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.FlowAdd = channel.unary_unary(
                '/openolt.Openolt/FlowAdd',
                request_serializer=voltha__protos_dot_openolt__pb2.Flow.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.FlowRemove = channel.unary_unary(
                '/openolt.Openolt/FlowRemove',
                request_serializer=voltha__protos_dot_openolt__pb2.Flow.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.HeartbeatCheck = channel.unary_unary(
                '/openolt.Openolt/HeartbeatCheck',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Heartbeat.FromString,
                )
        self.EnablePonIf = channel.unary_unary(
                '/openolt.Openolt/EnablePonIf',
                request_serializer=voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.DisablePonIf = channel.unary_unary(
                '/openolt.Openolt/DisablePonIf',
                request_serializer=voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.GetDeviceInfo = channel.unary_unary(
                '/openolt.Openolt/GetDeviceInfo',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.DeviceInfo.FromString,
                )
        self.Reboot = channel.unary_unary(
                '/openolt.Openolt/Reboot',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.CollectStatistics = channel.unary_unary(
                '/openolt.Openolt/CollectStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.GetOnuStatistics = channel.unary_unary(
                '/openolt.Openolt/GetOnuStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.OnuStatistics.FromString,
                )
        self.GetGemPortStatistics = channel.unary_unary(
                '/openolt.Openolt/GetGemPortStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.GemPortStatistics.FromString,
                )
        self.CreateTrafficSchedulers = channel.unary_unary(
                '/openolt.Openolt/CreateTrafficSchedulers',
                request_serializer=voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.RemoveTrafficSchedulers = channel.unary_unary(
                '/openolt.Openolt/RemoveTrafficSchedulers',
                request_serializer=voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.CreateTrafficQueues = channel.unary_unary(
                '/openolt.Openolt/CreateTrafficQueues',
                request_serializer=voltha__protos_dot_tech__profile__pb2.TrafficQueues.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.RemoveTrafficQueues = channel.unary_unary(
                '/openolt.Openolt/RemoveTrafficQueues',
                request_serializer=voltha__protos_dot_tech__profile__pb2.TrafficQueues.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.EnableIndication = channel.unary_stream(
                '/openolt.Openolt/EnableIndication',
                request_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Indication.FromString,
                )
        self.PerformGroupOperation = channel.unary_unary(
                '/openolt.Openolt/PerformGroupOperation',
                request_serializer=voltha__protos_dot_openolt__pb2.Group.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.DeleteGroup = channel.unary_unary(
                '/openolt.Openolt/DeleteGroup',
                request_serializer=voltha__protos_dot_openolt__pb2.Group.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.GetExtValue = channel.unary_unary(
                '/openolt.Openolt/GetExtValue',
                request_serializer=voltha__protos_dot_openolt__pb2.ValueParam.SerializeToString,
                response_deserializer=voltha__protos_dot_extensions__pb2.ReturnValues.FromString,
                )
        self.OnuItuPonAlarmSet = channel.unary_unary(
                '/openolt.Openolt/OnuItuPonAlarmSet',
                request_serializer=voltha__protos_dot_ext__config__pb2.OnuItuPonAlarm.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.GetLogicalOnuDistanceZero = channel.unary_unary(
                '/openolt.Openolt/GetLogicalOnuDistanceZero',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.OnuLogicalDistance.FromString,
                )
        self.GetLogicalOnuDistance = channel.unary_unary(
                '/openolt.Openolt/GetLogicalOnuDistance',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.OnuLogicalDistance.FromString,
                )
        self.GetPonRxPower = channel.unary_unary(
                '/openolt.Openolt/GetPonRxPower',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.PonRxPowerData.FromString,
                )
        self.GetOnuInfo = channel.unary_unary(
                '/openolt.Openolt/GetOnuInfo',
                request_serializer=voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.OnuInfo.FromString,
                )
        self.GetPonInterfaceInfo = channel.unary_unary(
                '/openolt.Openolt/GetPonInterfaceInfo',
                request_serializer=voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.PonIntfInfo.FromString,
                )
        self.GetAllocIdStatistics = channel.unary_unary(
                '/openolt.Openolt/GetAllocIdStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.OnuAllocIdStatistics.FromString,
                )
        self.GetPonPortStatistics = channel.unary_unary(
                '/openolt.Openolt/GetPonPortStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
                response_deserializer=voltha__protos_dot_common__pb2.PortStatistics.FromString,
                )
        self.GetNniPortStatistics = channel.unary_unary(
                '/openolt.Openolt/GetNniPortStatistics',
                request_serializer=voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
                response_deserializer=voltha__protos_dot_common__pb2.PortStatistics.FromString,
                )
        self.DisableOnu = channel.unary_unary(
                '/openolt.Openolt/DisableOnu',
                request_serializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.EnableOnu = channel.unary_unary(
                '/openolt.Openolt/EnableOnu',
                request_serializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.DisableOnuSerialNumber = channel.unary_unary(
                '/openolt.Openolt/DisableOnuSerialNumber',
                request_serializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )
        self.EnableOnuSerialNumber = channel.unary_unary(
                '/openolt.Openolt/EnableOnuSerialNumber',
                request_serializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.SerializeToString,
                response_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                )


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

    def DisableOlt(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 ReenableOlt(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 ActivateOnu(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 DeactivateOnu(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 DeleteOnu(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 OmciMsgOut(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 OnuPacketOut(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 UplinkPacketOut(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 FlowAdd(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 FlowRemove(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 HeartbeatCheck(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 EnablePonIf(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 DisablePonIf(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 GetDeviceInfo(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 Reboot(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 CollectStatistics(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 GetOnuStatistics(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 GetGemPortStatistics(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 CreateTrafficSchedulers(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 RemoveTrafficSchedulers(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 CreateTrafficQueues(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 RemoveTrafficQueues(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 EnableIndication(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 PerformGroupOperation(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 DeleteGroup(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 GetExtValue(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 OnuItuPonAlarmSet(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 GetLogicalOnuDistanceZero(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 GetLogicalOnuDistance(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 GetPonRxPower(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 GetOnuInfo(self, request, context):
        """
        GetOnuInfo takes Onu id, serialnumber, and pon interface as argument from the onu structure.
        Returns the Onu info from the device.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPonInterfaceInfo(self, request, context):
        """
        GetPonInterfaceInfo takes the pon intf id as argument.
        Returns the pon interface information from the device.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAllocIdStatistics(self, request, context):
        """
        GetAllocIdStatistics takes onuId and allocId as argument.
        This method includes a default wait period of 10 secs before collecting the stats.
        The caller has to be aware of this wait and handle it accordingly.
        Returns AllocId statistics in the form of OnuAllocStatistics structure
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPonPortStatistics(self, request, context):
        """
        GetPonPortStatistics takes interface id and type as argument from Interface structure.
        Returns Pon port statistics in the form of PonStatsData structure.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNniPortStatistics(self, request, context):
        """
        GetNniPortStatistics takes takes interface id and type as argument from Interface structure.
        Returns Nni port statistics in the form of NniStatsData structure
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DisableOnu(self, request, context):
        """
        Disable ONU serailnumber, disable device at PLOAM.
        Takes input as intfid, onuid, sn of the ONU.
        Returns success if the call towards the device is success, error otherwise.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def EnableOnu(self, request, context):
        """
        Enables ONU serailnumber, enable device at PLOAM.
        Takes input as intfid, onuid, sn of the ONU.
        Returns success if the call towards the device is success, error otherwise.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DisableOnuSerialNumber(self, request, context):
        """
        Disable ONU serailnumber, disable device at PLOAM
        Takes input as intfid and sn of the ONU. Generally used when the onu is not present in the OLT.
        Returns success if the call towards the device is success, error otherwise.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def EnableOnuSerialNumber(self, request, context):
        """
        Enables ONU serailnumber, enable device at PLOAM
        Takes input as intfid and sn of the ONU. Generally used when the onu is not present in the OLT.
        Returns success if the call towards the device is success, error otherwise.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_OpenoltServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'DisableOlt': grpc.unary_unary_rpc_method_handler(
                    servicer.DisableOlt,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'ReenableOlt': grpc.unary_unary_rpc_method_handler(
                    servicer.ReenableOlt,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'ActivateOnu': grpc.unary_unary_rpc_method_handler(
                    servicer.ActivateOnu,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'DeactivateOnu': grpc.unary_unary_rpc_method_handler(
                    servicer.DeactivateOnu,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'DeleteOnu': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteOnu,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'OmciMsgOut': grpc.unary_unary_rpc_method_handler(
                    servicer.OmciMsgOut,
                    request_deserializer=voltha__protos_dot_openolt__pb2.OmciMsg.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'OnuPacketOut': grpc.unary_unary_rpc_method_handler(
                    servicer.OnuPacketOut,
                    request_deserializer=voltha__protos_dot_openolt__pb2.OnuPacket.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'UplinkPacketOut': grpc.unary_unary_rpc_method_handler(
                    servicer.UplinkPacketOut,
                    request_deserializer=voltha__protos_dot_openolt__pb2.UplinkPacket.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'FlowAdd': grpc.unary_unary_rpc_method_handler(
                    servicer.FlowAdd,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Flow.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'FlowRemove': grpc.unary_unary_rpc_method_handler(
                    servicer.FlowRemove,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Flow.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'HeartbeatCheck': grpc.unary_unary_rpc_method_handler(
                    servicer.HeartbeatCheck,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Heartbeat.SerializeToString,
            ),
            'EnablePonIf': grpc.unary_unary_rpc_method_handler(
                    servicer.EnablePonIf,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Interface.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'DisablePonIf': grpc.unary_unary_rpc_method_handler(
                    servicer.DisablePonIf,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Interface.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'GetDeviceInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDeviceInfo,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.DeviceInfo.SerializeToString,
            ),
            'Reboot': grpc.unary_unary_rpc_method_handler(
                    servicer.Reboot,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'CollectStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.CollectStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'GetOnuStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOnuStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.OnuStatistics.SerializeToString,
            ),
            'GetGemPortStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGemPortStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.OnuPacket.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.GemPortStatistics.SerializeToString,
            ),
            'CreateTrafficSchedulers': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTrafficSchedulers,
                    request_deserializer=voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'RemoveTrafficSchedulers': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTrafficSchedulers,
                    request_deserializer=voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'CreateTrafficQueues': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTrafficQueues,
                    request_deserializer=voltha__protos_dot_tech__profile__pb2.TrafficQueues.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'RemoveTrafficQueues': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTrafficQueues,
                    request_deserializer=voltha__protos_dot_tech__profile__pb2.TrafficQueues.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'EnableIndication': grpc.unary_stream_rpc_method_handler(
                    servicer.EnableIndication,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Empty.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Indication.SerializeToString,
            ),
            'PerformGroupOperation': grpc.unary_unary_rpc_method_handler(
                    servicer.PerformGroupOperation,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Group.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'DeleteGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteGroup,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Group.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'GetExtValue': grpc.unary_unary_rpc_method_handler(
                    servicer.GetExtValue,
                    request_deserializer=voltha__protos_dot_openolt__pb2.ValueParam.FromString,
                    response_serializer=voltha__protos_dot_extensions__pb2.ReturnValues.SerializeToString,
            ),
            'OnuItuPonAlarmSet': grpc.unary_unary_rpc_method_handler(
                    servicer.OnuItuPonAlarmSet,
                    request_deserializer=voltha__protos_dot_ext__config__pb2.OnuItuPonAlarm.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'GetLogicalOnuDistanceZero': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLogicalOnuDistanceZero,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.OnuLogicalDistance.SerializeToString,
            ),
            'GetLogicalOnuDistance': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLogicalOnuDistance,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.OnuLogicalDistance.SerializeToString,
            ),
            'GetPonRxPower': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPonRxPower,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.PonRxPowerData.SerializeToString,
            ),
            'GetOnuInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOnuInfo,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Onu.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.OnuInfo.SerializeToString,
            ),
            'GetPonInterfaceInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPonInterfaceInfo,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Interface.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.PonIntfInfo.SerializeToString,
            ),
            'GetAllocIdStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllocIdStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.OnuPacket.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.OnuAllocIdStatistics.SerializeToString,
            ),
            'GetPonPortStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPonPortStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Interface.FromString,
                    response_serializer=voltha__protos_dot_common__pb2.PortStatistics.SerializeToString,
            ),
            'GetNniPortStatistics': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNniPortStatistics,
                    request_deserializer=voltha__protos_dot_openolt__pb2.Interface.FromString,
                    response_serializer=voltha__protos_dot_common__pb2.PortStatistics.SerializeToString,
            ),
            'DisableOnu': grpc.unary_unary_rpc_method_handler(
                    servicer.DisableOnu,
                    request_deserializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'EnableOnu': grpc.unary_unary_rpc_method_handler(
                    servicer.EnableOnu,
                    request_deserializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'DisableOnuSerialNumber': grpc.unary_unary_rpc_method_handler(
                    servicer.DisableOnuSerialNumber,
                    request_deserializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
            'EnableOnuSerialNumber': grpc.unary_unary_rpc_method_handler(
                    servicer.EnableOnuSerialNumber,
                    request_deserializer=voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.FromString,
                    response_serializer=voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'openolt.Openolt', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def DisableOlt(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, '/openolt.Openolt/DisableOlt',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReenableOlt(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, '/openolt.Openolt/ReenableOlt',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ActivateOnu(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, '/openolt.Openolt/ActivateOnu',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeactivateOnu(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, '/openolt.Openolt/DeactivateOnu',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteOnu(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, '/openolt.Openolt/DeleteOnu',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OmciMsgOut(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, '/openolt.Openolt/OmciMsgOut',
            voltha__protos_dot_openolt__pb2.OmciMsg.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OnuPacketOut(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, '/openolt.Openolt/OnuPacketOut',
            voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UplinkPacketOut(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, '/openolt.Openolt/UplinkPacketOut',
            voltha__protos_dot_openolt__pb2.UplinkPacket.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FlowAdd(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, '/openolt.Openolt/FlowAdd',
            voltha__protos_dot_openolt__pb2.Flow.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FlowRemove(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, '/openolt.Openolt/FlowRemove',
            voltha__protos_dot_openolt__pb2.Flow.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HeartbeatCheck(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, '/openolt.Openolt/HeartbeatCheck',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Heartbeat.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnablePonIf(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, '/openolt.Openolt/EnablePonIf',
            voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DisablePonIf(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, '/openolt.Openolt/DisablePonIf',
            voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDeviceInfo(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, '/openolt.Openolt/GetDeviceInfo',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.DeviceInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Reboot(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, '/openolt.Openolt/Reboot',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CollectStatistics(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, '/openolt.Openolt/CollectStatistics',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOnuStatistics(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, '/openolt.Openolt/GetOnuStatistics',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.OnuStatistics.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGemPortStatistics(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, '/openolt.Openolt/GetGemPortStatistics',
            voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
            voltha__protos_dot_openolt__pb2.GemPortStatistics.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTrafficSchedulers(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, '/openolt.Openolt/CreateTrafficSchedulers',
            voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTrafficSchedulers(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, '/openolt.Openolt/RemoveTrafficSchedulers',
            voltha__protos_dot_tech__profile__pb2.TrafficSchedulers.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTrafficQueues(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, '/openolt.Openolt/CreateTrafficQueues',
            voltha__protos_dot_tech__profile__pb2.TrafficQueues.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTrafficQueues(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, '/openolt.Openolt/RemoveTrafficQueues',
            voltha__protos_dot_tech__profile__pb2.TrafficQueues.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableIndication(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/openolt.Openolt/EnableIndication',
            voltha__protos_dot_openolt__pb2.Empty.SerializeToString,
            voltha__protos_dot_openolt__pb2.Indication.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PerformGroupOperation(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, '/openolt.Openolt/PerformGroupOperation',
            voltha__protos_dot_openolt__pb2.Group.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteGroup(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, '/openolt.Openolt/DeleteGroup',
            voltha__protos_dot_openolt__pb2.Group.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetExtValue(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, '/openolt.Openolt/GetExtValue',
            voltha__protos_dot_openolt__pb2.ValueParam.SerializeToString,
            voltha__protos_dot_extensions__pb2.ReturnValues.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OnuItuPonAlarmSet(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, '/openolt.Openolt/OnuItuPonAlarmSet',
            voltha__protos_dot_ext__config__pb2.OnuItuPonAlarm.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLogicalOnuDistanceZero(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, '/openolt.Openolt/GetLogicalOnuDistanceZero',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.OnuLogicalDistance.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLogicalOnuDistance(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, '/openolt.Openolt/GetLogicalOnuDistance',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.OnuLogicalDistance.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPonRxPower(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, '/openolt.Openolt/GetPonRxPower',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.PonRxPowerData.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOnuInfo(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, '/openolt.Openolt/GetOnuInfo',
            voltha__protos_dot_openolt__pb2.Onu.SerializeToString,
            voltha__protos_dot_openolt__pb2.OnuInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPonInterfaceInfo(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, '/openolt.Openolt/GetPonInterfaceInfo',
            voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
            voltha__protos_dot_openolt__pb2.PonIntfInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAllocIdStatistics(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, '/openolt.Openolt/GetAllocIdStatistics',
            voltha__protos_dot_openolt__pb2.OnuPacket.SerializeToString,
            voltha__protos_dot_openolt__pb2.OnuAllocIdStatistics.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPonPortStatistics(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, '/openolt.Openolt/GetPonPortStatistics',
            voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
            voltha__protos_dot_common__pb2.PortStatistics.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNniPortStatistics(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, '/openolt.Openolt/GetNniPortStatistics',
            voltha__protos_dot_openolt__pb2.Interface.SerializeToString,
            voltha__protos_dot_common__pb2.PortStatistics.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DisableOnu(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, '/openolt.Openolt/DisableOnu',
            voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableOnu(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, '/openolt.Openolt/EnableOnu',
            voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumberOnuId.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DisableOnuSerialNumber(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, '/openolt.Openolt/DisableOnuSerialNumber',
            voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableOnuSerialNumber(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, '/openolt.Openolt/EnableOnuSerialNumber',
            voltha__protos_dot_openolt__pb2.InterfaceOnuSerialNumber.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
