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

import hub_pb2 as hub__pb2
import result_pb2 as result__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.Search = channel.unary_unary(
                '/pb.Hub/Search',
                request_serializer=hub__pb2.SearchRequest.SerializeToString,
                response_deserializer=result__pb2.Outputs.FromString,
                )
        self.Ping = channel.unary_unary(
                '/pb.Hub/Ping',
                request_serializer=hub__pb2.EmptyMessage.SerializeToString,
                response_deserializer=hub__pb2.StringValue.FromString,
                )
        self.Hello = channel.unary_unary(
                '/pb.Hub/Hello',
                request_serializer=hub__pb2.HelloMessage.SerializeToString,
                response_deserializer=hub__pb2.HelloMessage.FromString,
                )
        self.AddPeer = channel.unary_unary(
                '/pb.Hub/AddPeer',
                request_serializer=hub__pb2.ServerMessage.SerializeToString,
                response_deserializer=hub__pb2.StringValue.FromString,
                )
        self.PeerSubscribe = channel.unary_unary(
                '/pb.Hub/PeerSubscribe',
                request_serializer=hub__pb2.ServerMessage.SerializeToString,
                response_deserializer=hub__pb2.StringValue.FromString,
                )
        self.Version = channel.unary_unary(
                '/pb.Hub/Version',
                request_serializer=hub__pb2.EmptyMessage.SerializeToString,
                response_deserializer=hub__pb2.StringValue.FromString,
                )
        self.Features = channel.unary_unary(
                '/pb.Hub/Features',
                request_serializer=hub__pb2.EmptyMessage.SerializeToString,
                response_deserializer=hub__pb2.StringValue.FromString,
                )
        self.Broadcast = channel.unary_unary(
                '/pb.Hub/Broadcast',
                request_serializer=hub__pb2.EmptyMessage.SerializeToString,
                response_deserializer=hub__pb2.UInt32Value.FromString,
                )
        self.Height = channel.unary_unary(
                '/pb.Hub/Height',
                request_serializer=hub__pb2.EmptyMessage.SerializeToString,
                response_deserializer=hub__pb2.UInt32Value.FromString,
                )
        self.HeightSubscribe = channel.unary_stream(
                '/pb.Hub/HeightSubscribe',
                request_serializer=hub__pb2.UInt32Value.SerializeToString,
                response_deserializer=hub__pb2.UInt32Value.FromString,
                )
        self.Resolve = channel.unary_unary(
                '/pb.Hub/Resolve',
                request_serializer=hub__pb2.StringArray.SerializeToString,
                response_deserializer=result__pb2.Outputs.FromString,
                )


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

    def Search(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Ping(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Hello(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 AddPeer(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 PeerSubscribe(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 Version(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 Features(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 Broadcast(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 Height(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 HeightSubscribe(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 Resolve(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_HubServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Search': grpc.unary_unary_rpc_method_handler(
                    servicer.Search,
                    request_deserializer=hub__pb2.SearchRequest.FromString,
                    response_serializer=result__pb2.Outputs.SerializeToString,
            ),
            'Ping': grpc.unary_unary_rpc_method_handler(
                    servicer.Ping,
                    request_deserializer=hub__pb2.EmptyMessage.FromString,
                    response_serializer=hub__pb2.StringValue.SerializeToString,
            ),
            'Hello': grpc.unary_unary_rpc_method_handler(
                    servicer.Hello,
                    request_deserializer=hub__pb2.HelloMessage.FromString,
                    response_serializer=hub__pb2.HelloMessage.SerializeToString,
            ),
            'AddPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.AddPeer,
                    request_deserializer=hub__pb2.ServerMessage.FromString,
                    response_serializer=hub__pb2.StringValue.SerializeToString,
            ),
            'PeerSubscribe': grpc.unary_unary_rpc_method_handler(
                    servicer.PeerSubscribe,
                    request_deserializer=hub__pb2.ServerMessage.FromString,
                    response_serializer=hub__pb2.StringValue.SerializeToString,
            ),
            'Version': grpc.unary_unary_rpc_method_handler(
                    servicer.Version,
                    request_deserializer=hub__pb2.EmptyMessage.FromString,
                    response_serializer=hub__pb2.StringValue.SerializeToString,
            ),
            'Features': grpc.unary_unary_rpc_method_handler(
                    servicer.Features,
                    request_deserializer=hub__pb2.EmptyMessage.FromString,
                    response_serializer=hub__pb2.StringValue.SerializeToString,
            ),
            'Broadcast': grpc.unary_unary_rpc_method_handler(
                    servicer.Broadcast,
                    request_deserializer=hub__pb2.EmptyMessage.FromString,
                    response_serializer=hub__pb2.UInt32Value.SerializeToString,
            ),
            'Height': grpc.unary_unary_rpc_method_handler(
                    servicer.Height,
                    request_deserializer=hub__pb2.EmptyMessage.FromString,
                    response_serializer=hub__pb2.UInt32Value.SerializeToString,
            ),
            'HeightSubscribe': grpc.unary_stream_rpc_method_handler(
                    servicer.HeightSubscribe,
                    request_deserializer=hub__pb2.UInt32Value.FromString,
                    response_serializer=hub__pb2.UInt32Value.SerializeToString,
            ),
            'Resolve': grpc.unary_unary_rpc_method_handler(
                    servicer.Resolve,
                    request_deserializer=hub__pb2.StringArray.FromString,
                    response_serializer=result__pb2.Outputs.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'pb.Hub', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def Search(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, '/pb.Hub/Search',
            hub__pb2.SearchRequest.SerializeToString,
            result__pb2.Outputs.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Ping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/pb.Hub/Ping',
            hub__pb2.EmptyMessage.SerializeToString,
            hub__pb2.StringValue.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Hello(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, '/pb.Hub/Hello',
            hub__pb2.HelloMessage.SerializeToString,
            hub__pb2.HelloMessage.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddPeer(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, '/pb.Hub/AddPeer',
            hub__pb2.ServerMessage.SerializeToString,
            hub__pb2.StringValue.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PeerSubscribe(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, '/pb.Hub/PeerSubscribe',
            hub__pb2.ServerMessage.SerializeToString,
            hub__pb2.StringValue.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Version(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, '/pb.Hub/Version',
            hub__pb2.EmptyMessage.SerializeToString,
            hub__pb2.StringValue.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Features(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, '/pb.Hub/Features',
            hub__pb2.EmptyMessage.SerializeToString,
            hub__pb2.StringValue.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Broadcast(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, '/pb.Hub/Broadcast',
            hub__pb2.EmptyMessage.SerializeToString,
            hub__pb2.UInt32Value.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Height(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, '/pb.Hub/Height',
            hub__pb2.EmptyMessage.SerializeToString,
            hub__pb2.UInt32Value.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HeightSubscribe(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, '/pb.Hub/HeightSubscribe',
            hub__pb2.UInt32Value.SerializeToString,
            hub__pb2.UInt32Value.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Resolve(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, '/pb.Hub/Resolve',
            hub__pb2.StringArray.SerializeToString,
            result__pb2.Outputs.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)