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

from pyinjective.proto.exchange import injective_rfqrpc_pb2 as exchange_dot_injective__rfqrpc__pb2


class InjectiveRFQRPCStub(object):
    """InjectiveRFQRPC defines gRPC API of the RFQ (Request for Quote) API.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Request = channel.unary_unary(
                '/injective_rfqrpc.InjectiveRFQRPC/Request',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.RequestRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.RequestResponse.FromString,
                _registered_method=True)
        self.StreamRequest = channel.unary_stream(
                '/injective_rfqrpc.InjectiveRFQRPC/StreamRequest',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.StreamRequestRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamRequestResponse.FromString,
                _registered_method=True)
        self.Quote = channel.unary_unary(
                '/injective_rfqrpc.InjectiveRFQRPC/Quote',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.QuoteRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.QuoteResponse.FromString,
                _registered_method=True)
        self.StreamQuote = channel.unary_stream(
                '/injective_rfqrpc.InjectiveRFQRPC/StreamQuote',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.StreamQuoteRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamQuoteResponse.FromString,
                _registered_method=True)
        self.GetOpenRequests = channel.unary_unary(
                '/injective_rfqrpc.InjectiveRFQRPC/GetOpenRequests',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsResponse.FromString,
                _registered_method=True)
        self.GetPendingQuotes = channel.unary_unary(
                '/injective_rfqrpc.InjectiveRFQRPC/GetPendingQuotes',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesResponse.FromString,
                _registered_method=True)
        self.ListSettlement = channel.unary_unary(
                '/injective_rfqrpc.InjectiveRFQRPC/ListSettlement',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.ListSettlementRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.ListSettlementResponse.FromString,
                _registered_method=True)
        self.StreamSettlement = channel.unary_stream(
                '/injective_rfqrpc.InjectiveRFQRPC/StreamSettlement',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.StreamSettlementRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamSettlementResponse.FromString,
                _registered_method=True)
        self.TakerStream = channel.stream_stream(
                '/injective_rfqrpc.InjectiveRFQRPC/TakerStream',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.TakerStreamStreamingRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.TakerStreamResponse.FromString,
                _registered_method=True)
        self.MakerStream = channel.stream_stream(
                '/injective_rfqrpc.InjectiveRFQRPC/MakerStream',
                request_serializer=exchange_dot_injective__rfqrpc__pb2.MakerStreamStreamingRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__rfqrpc__pb2.MakerStreamResponse.FromString,
                _registered_method=True)


class InjectiveRFQRPCServicer(object):
    """InjectiveRFQRPC defines gRPC API of the RFQ (Request for Quote) API.
    """

    def Request(self, request, context):
        """Create RFQ request
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamRequest(self, request, context):
        """Stream RFQ requests
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Quote(self, request, context):
        """Create RFQ quote
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamQuote(self, request, context):
        """Stream RFQ quotes
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOpenRequests(self, request, context):
        """Get open RFQ requests
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPendingQuotes(self, request, context):
        """Get pending RFQ quotes
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSettlement(self, request, context):
        """List RFQ settlements
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamSettlement(self, request, context):
        """Stream RFQ settlements
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TakerStream(self, request_iterator, context):
        """Bidirectional stream for takers: send requests, receive quotes
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MakerStream(self, request_iterator, context):
        """Bidirectional stream for makers: receive requests, send quotes
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_InjectiveRFQRPCServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Request': grpc.unary_unary_rpc_method_handler(
                    servicer.Request,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.RequestRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.RequestResponse.SerializeToString,
            ),
            'StreamRequest': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamRequest,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamRequestRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.StreamRequestResponse.SerializeToString,
            ),
            'Quote': grpc.unary_unary_rpc_method_handler(
                    servicer.Quote,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.QuoteRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.QuoteResponse.SerializeToString,
            ),
            'StreamQuote': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamQuote,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamQuoteRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.StreamQuoteResponse.SerializeToString,
            ),
            'GetOpenRequests': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOpenRequests,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsResponse.SerializeToString,
            ),
            'GetPendingQuotes': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPendingQuotes,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesResponse.SerializeToString,
            ),
            'ListSettlement': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSettlement,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.ListSettlementRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.ListSettlementResponse.SerializeToString,
            ),
            'StreamSettlement': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamSettlement,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.StreamSettlementRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.StreamSettlementResponse.SerializeToString,
            ),
            'TakerStream': grpc.stream_stream_rpc_method_handler(
                    servicer.TakerStream,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.TakerStreamStreamingRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.TakerStreamResponse.SerializeToString,
            ),
            'MakerStream': grpc.stream_stream_rpc_method_handler(
                    servicer.MakerStream,
                    request_deserializer=exchange_dot_injective__rfqrpc__pb2.MakerStreamStreamingRequest.FromString,
                    response_serializer=exchange_dot_injective__rfqrpc__pb2.MakerStreamResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'injective_rfqrpc.InjectiveRFQRPC', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('injective_rfqrpc.InjectiveRFQRPC', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class InjectiveRFQRPC(object):
    """InjectiveRFQRPC defines gRPC API of the RFQ (Request for Quote) API.
    """

    @staticmethod
    def Request(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,
            '/injective_rfqrpc.InjectiveRFQRPC/Request',
            exchange_dot_injective__rfqrpc__pb2.RequestRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.RequestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StreamRequest(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,
            '/injective_rfqrpc.InjectiveRFQRPC/StreamRequest',
            exchange_dot_injective__rfqrpc__pb2.StreamRequestRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.StreamRequestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Quote(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,
            '/injective_rfqrpc.InjectiveRFQRPC/Quote',
            exchange_dot_injective__rfqrpc__pb2.QuoteRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.QuoteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StreamQuote(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,
            '/injective_rfqrpc.InjectiveRFQRPC/StreamQuote',
            exchange_dot_injective__rfqrpc__pb2.StreamQuoteRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.StreamQuoteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetOpenRequests(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,
            '/injective_rfqrpc.InjectiveRFQRPC/GetOpenRequests',
            exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.GetOpenRequestsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPendingQuotes(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,
            '/injective_rfqrpc.InjectiveRFQRPC/GetPendingQuotes',
            exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.GetPendingQuotesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListSettlement(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,
            '/injective_rfqrpc.InjectiveRFQRPC/ListSettlement',
            exchange_dot_injective__rfqrpc__pb2.ListSettlementRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.ListSettlementResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StreamSettlement(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,
            '/injective_rfqrpc.InjectiveRFQRPC/StreamSettlement',
            exchange_dot_injective__rfqrpc__pb2.StreamSettlementRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.StreamSettlementResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def TakerStream(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_stream(
            request_iterator,
            target,
            '/injective_rfqrpc.InjectiveRFQRPC/TakerStream',
            exchange_dot_injective__rfqrpc__pb2.TakerStreamStreamingRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.TakerStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MakerStream(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_stream(
            request_iterator,
            target,
            '/injective_rfqrpc.InjectiveRFQRPC/MakerStream',
            exchange_dot_injective__rfqrpc__pb2.MakerStreamStreamingRequest.SerializeToString,
            exchange_dot_injective__rfqrpc__pb2.MakerStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
