# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from voltha_protos import common_pb2 as voltha__protos_dot_common__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.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.GetExtValue = channel.unary_unary(
                '/openolt.Openolt/GetExtValue',
                request_serializer=voltha__protos_dot_openolt__pb2.ValueParam.SerializeToString,
                response_deserializer=voltha__protos_dot_common__pb2.ReturnValues.FromString,
                )
        self.OnuItuPonAlarmSet = channel.unary_unary(
                '/openolt.Openolt/OnuItuPonAlarmSet',
                request_serializer=voltha__protos_dot_openolt__pb2.OnuItuPonAlarm.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 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 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 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,
            ),
            '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,
            ),
            'GetExtValue': grpc.unary_unary_rpc_method_handler(
                    servicer.GetExtValue,
                    request_deserializer=voltha__protos_dot_openolt__pb2.ValueParam.FromString,
                    response_serializer=voltha__protos_dot_common__pb2.ReturnValues.SerializeToString,
            ),
            'OnuItuPonAlarmSet': grpc.unary_unary_rpc_method_handler(
                    servicer.OnuItuPonAlarmSet,
                    request_deserializer=voltha__protos_dot_openolt__pb2.OnuItuPonAlarm.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,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReenableOlt(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ActivateOnu(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeactivateOnu(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteOnu(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OmciMsgOut(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OnuPacketOut(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UplinkPacketOut(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FlowAdd(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FlowRemove(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HeartbeatCheck(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnablePonIf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DisablePonIf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDeviceInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Reboot(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CollectStatistics(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTrafficSchedulers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTrafficSchedulers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTrafficQueues(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveTrafficQueues(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableIndication(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PerformGroupOperation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetExtValue(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            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_common__pb2.ReturnValues.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OnuItuPonAlarmSet(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/openolt.Openolt/OnuItuPonAlarmSet',
            voltha__protos_dot_openolt__pb2.OnuItuPonAlarm.SerializeToString,
            voltha__protos_dot_openolt__pb2.Empty.FromString,
            options, channel_credentials,
            call_credentials, compression, wait_for_ready, timeout, metadata)
