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

from formant.protos.agent.v1 import agent_pb2 as protos_dot_agent_dot_v1_dot_agent__pb2
from formant.protos.model.v1 import datapoint_pb2 as protos_dot_model_dot_v1_dot_datapoint__pb2
from formant.protos.model.v1 import intervention_pb2 as protos_dot_model_dot_v1_dot_intervention__pb2
from formant.protos.model.v1 import math_pb2 as protos_dot_model_dot_v1_dot_math__pb2

GRPC_GENERATED_VERSION = '1.69.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in protos/agent/v1/agent_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class AgentStub(object):
    """Agent is the Formant Agent gRPC API. 
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.StreamData = channel.stream_unary(
                '/v1.agent.Agent/StreamData',
                request_serializer=protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.StreamDataResponse.FromString,
                _registered_method=True)
        self.PostData = channel.unary_unary(
                '/v1.agent.Agent/PostData',
                request_serializer=protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataResponse.FromString,
                _registered_method=True)
        self.PostDataMulti = channel.unary_unary(
                '/v1.agent.Agent/PostDataMulti',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiResponse.FromString,
                _registered_method=True)
        self.GetTeleopControlDataStream = channel.unary_stream(
                '/v1.agent.Agent/GetTeleopControlDataStream',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamResponse.FromString,
                _registered_method=True)
        self.GetTeleopHeartbeatStream = channel.unary_stream(
                '/v1.agent.Agent/GetTeleopHeartbeatStream',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamResponse.FromString,
                _registered_method=True)
        self.GetTelemetryListenerStream = channel.unary_stream(
                '/v1.agent.Agent/GetTelemetryListenerStream',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamResponse.FromString,
                _registered_method=True)
        self.GetCustomDataChannelMessageStream = channel.unary_stream(
                '/v1.agent.Agent/GetCustomDataChannelMessageStream',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamResponse.FromString,
                _registered_method=True)
        self.CreateEvent = channel.unary_unary(
                '/v1.agent.Agent/CreateEvent',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventResponse.FromString,
                _registered_method=True)
        self.CreateInterventionRequest = channel.unary_unary(
                '/v1.agent.Agent/CreateInterventionRequest',
                request_serializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.SerializeToString,
                response_deserializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.FromString,
                _registered_method=True)
        self.GetInterventionRequest = channel.unary_unary(
                '/v1.agent.Agent/GetInterventionRequest',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionRequestRequest.SerializeToString,
                response_deserializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.FromString,
                _registered_method=True)
        self.GetInterventionResponse = channel.unary_unary(
                '/v1.agent.Agent/GetInterventionResponse',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionResponseRequest.SerializeToString,
                response_deserializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionResponse.FromString,
                _registered_method=True)
        self.GetStreamsConfiguration = channel.unary_unary(
                '/v1.agent.Agent/GetStreamsConfiguration',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationResponse.FromString,
                _registered_method=True)
        self.GetApplicationConfiguration = channel.unary_unary(
                '/v1.agent.Agent/GetApplicationConfiguration',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationResponse.FromString,
                _registered_method=True)
        self.GetConfigBlobData = channel.unary_unary(
                '/v1.agent.Agent/GetConfigBlobData',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataResponse.FromString,
                _registered_method=True)
        self.GetAgentConfiguration = channel.unary_unary(
                '/v1.agent.Agent/GetAgentConfiguration',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationResponse.FromString,
                _registered_method=True)
        self.GetBufferMetadata = channel.unary_unary(
                '/v1.agent.Agent/GetBufferMetadata',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataResponse.FromString,
                _registered_method=True)
        self.QueryDatapoints = channel.unary_unary(
                '/v1.agent.Agent/QueryDatapoints',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsResponse.FromString,
                _registered_method=True)
        self.QueryEvents = channel.unary_unary(
                '/v1.agent.Agent/QueryEvents',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsResponse.FromString,
                _registered_method=True)
        self.Health = channel.unary_unary(
                '/v1.agent.Agent/Health',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.HealthRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.HealthResponse.FromString,
                _registered_method=True)
        self.GetCommandRequest = channel.unary_unary(
                '/v1.agent.Agent/GetCommandRequest',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestResponse.FromString,
                _registered_method=True)
        self.GetCommandRequestStream = channel.unary_stream(
                '/v1.agent.Agent/GetCommandRequestStream',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamResponse.FromString,
                _registered_method=True)
        self.SendCommandResponse = channel.unary_unary(
                '/v1.agent.Agent/SendCommandResponse',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseResponse.FromString,
                _registered_method=True)
        self.PostTransformFrame = channel.unary_unary(
                '/v1.agent.Agent/PostTransformFrame',
                request_serializer=protos_dot_model_dot_v1_dot_math__pb2.TransformFrame.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostTransformFrameResponse.FromString,
                _registered_method=True)
        self.SetBaseFrameID = channel.unary_unary(
                '/v1.agent.Agent/SetBaseFrameID',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDResponse.FromString,
                _registered_method=True)
        self.ClearTransformTree = channel.unary_unary(
                '/v1.agent.Agent/ClearTransformTree',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeResponse.FromString,
                _registered_method=True)
        self.GetTeleopInfo = channel.unary_unary(
                '/v1.agent.Agent/GetTeleopInfo',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoResponse.FromString,
                _registered_method=True)
        self.PostLanRtcOffer = channel.unary_unary(
                '/v1.agent.Agent/PostLanRtcOffer',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferResponse.FromString,
                _registered_method=True)
        self.SendOnCustomDataChannel = channel.unary_unary(
                '/v1.agent.Agent/SendOnCustomDataChannel',
                request_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelRequest.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelResponse.FromString,
                _registered_method=True)
        self.PostGenericAPIRequest = channel.unary_unary(
                '/v1.agent.Agent/PostGenericAPIRequest',
                request_serializer=protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIRequestResponse.FromString,
                _registered_method=True)
        self.PostGenericAPIUnbufferedRequest = channel.unary_unary(
                '/v1.agent.Agent/PostGenericAPIUnbufferedRequest',
                request_serializer=protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.SerializeToString,
                response_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIUnbufferedRequestResponse.FromString,
                _registered_method=True)


class AgentServicer(object):
    """Agent is the Formant Agent gRPC API. 
    """

    def StreamData(self, request_iterator, context):
        """StreamData accepts a stream of data points. See PostData for information on
        expected error conditions and codes. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostData(self, request, context):
        """PostData accepts a single data point per invocation. An OK status code will
        be returned if the data point was accepted and queued for uploading to the
        Formant cloud. PostData will return an InvalidArgument status code if the
        data point is malformed or has more than 10 tags attached. A
        ResourceExhausted code will be returned if the data point was throttled. An
        Unavailable code will be returned if the Agent is in the process of
        shutting down. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostDataMulti(self, request, context):
        """PostDataMulti accepts an array of datapoints per invocation. An OK status
        code indicates that all datapoints were accepted and queued for uploading
        to the Formant cloud. If certain datapoints failed or were throttled the
        response will include the index of those datapoints as well as the reason
        for failure. All documentation that applies to PostData also applies to
        this RPC. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTeleopControlDataStream(self, request, context):
        """GetTeleopControlDataStream returns a stream of datapoints sent to this device as
        they arrive from Formant teleop. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTeleopHeartbeatStream(self, request, context):
        """GetTeleopHeartbeatStream returns a stream of GetTeleopHeartbeatStreamResponse
        as heartbeat messages arrive from Formant teleop. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTelemetryListenerStream(self, request, context):
        """GetTelemetryListenerStream returns a stream of telemetry datapoints that have been posted
        to this agent as they arrive, pre-throttling. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCustomDataChannelMessageStream(self, request, context):
        """GetCustomDataChannelMessageStream returns a stream of messages
        received on custom data channels 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateEvent(self, request, context):
        """CreateEvent creates a custom event. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateInterventionRequest(self, request, context):
        """CreateInterventionRequest creates an intervention request. The returned
        InterventionRequest's 'id' field will be populated if the call succeeds. An
        Unavailable status code will be returned if an upstream network error
        occurs while trying to create the request. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetInterventionRequest(self, request, context):
        """GetInterventionRequest returns an existing InterventionRequest. The
        InterventionRequest's 'responses' field will be empty if an operator has
        yet to respond. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetInterventionResponse(self, request, context):
        """GetInterventionResponse returns the first InterventionResponse for the
        provided intervention request. This RPC blocks until an
        InterventionResponse is available to be returned. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetStreamsConfiguration(self, request, context):
        """GetStreamsConfiguration returns the configured streams. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetApplicationConfiguration(self, request, context):
        """GetApplicationConfiguration returns application (user-defined)
        configuration data. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetConfigBlobData(self, request, context):
        """GetConfigBlobData returns user-defined blob data 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAgentConfiguration(self, request, context):
        """GetAgentConfiguration returns the Agent configuration. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBufferMetadata(self, request, context):
        """GetBufferMetadata returns the metadata for the webRTC buffer. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def QueryDatapoints(self, request, context):
        """QueryDatapoints returns datapoints matching the specified parameters 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def QueryEvents(self, request, context):
        """QueryEvents returns events matching the specified parameters 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Health(self, request, context):
        """Health can be used to check if the Agent is running and its gRPC API is
        available. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCommandRequest(self, request, context):
        """GetCommandRequest returns the latest pending command request. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCommandRequestStream(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 SendCommandResponse(self, request, context):
        """SendCommandResponse sends a response to a command request. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostTransformFrame(self, request, context):
        """PostTransformFrame posts a transform between a parent and child. This
        updates a transform tree within the agent. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetBaseFrameID(self, request, context):
        """SetBaseFrameID sets the base frame Id to be used for transform
        visualizations. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ClearTransformTree(self, request, context):
        """ClearTransformTree clears the entire TransformTree graph stored in the
        agent. This maintains the base frame id as the root of the graph. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTeleopInfo(self, request, context):
        """GetTeleopInfo returns info on how many active teleop connections there are 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostLanRtcOffer(self, request, context):
        """PostLanRtcOffer takes a JSON-encoded WebRTC offer and returns a JSON-encoded answer that can be used
        to establish a LAN real-time session. The answering side (agent) will not use ICE candidates,
        so this can only be used to establish a LAN connection. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendOnCustomDataChannel(self, request, context):
        """SendOnCustomDataChannel sends the provided payload on the given custom data channel name,
        if the channel exists. 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostGenericAPIRequest(self, request, context):
        """PostGenericAPIRequest posts a generic API request to the Formant cloud, with the option of injecting Formant authentication 
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PostGenericAPIUnbufferedRequest(self, request, context):
        """PostGenericAPIUnbufferedRequest posts a generic API request to the Formant cloud, with the option of injecting Formant authentication.
        This method also returns a response from the Formant cloud to the user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_AgentServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'StreamData': grpc.stream_unary_rpc_method_handler(
                    servicer.StreamData,
                    request_deserializer=protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.StreamDataResponse.SerializeToString,
            ),
            'PostData': grpc.unary_unary_rpc_method_handler(
                    servicer.PostData,
                    request_deserializer=protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataResponse.SerializeToString,
            ),
            'PostDataMulti': grpc.unary_unary_rpc_method_handler(
                    servicer.PostDataMulti,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiResponse.SerializeToString,
            ),
            'GetTeleopControlDataStream': grpc.unary_stream_rpc_method_handler(
                    servicer.GetTeleopControlDataStream,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamResponse.SerializeToString,
            ),
            'GetTeleopHeartbeatStream': grpc.unary_stream_rpc_method_handler(
                    servicer.GetTeleopHeartbeatStream,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamResponse.SerializeToString,
            ),
            'GetTelemetryListenerStream': grpc.unary_stream_rpc_method_handler(
                    servicer.GetTelemetryListenerStream,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamResponse.SerializeToString,
            ),
            'GetCustomDataChannelMessageStream': grpc.unary_stream_rpc_method_handler(
                    servicer.GetCustomDataChannelMessageStream,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamResponse.SerializeToString,
            ),
            'CreateEvent': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateEvent,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventResponse.SerializeToString,
            ),
            'CreateInterventionRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateInterventionRequest,
                    request_deserializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.FromString,
                    response_serializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.SerializeToString,
            ),
            'GetInterventionRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInterventionRequest,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionRequestRequest.FromString,
                    response_serializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.SerializeToString,
            ),
            'GetInterventionResponse': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInterventionResponse,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionResponseRequest.FromString,
                    response_serializer=protos_dot_model_dot_v1_dot_intervention__pb2.InterventionResponse.SerializeToString,
            ),
            'GetStreamsConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.GetStreamsConfiguration,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationResponse.SerializeToString,
            ),
            'GetApplicationConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.GetApplicationConfiguration,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationResponse.SerializeToString,
            ),
            'GetConfigBlobData': grpc.unary_unary_rpc_method_handler(
                    servicer.GetConfigBlobData,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataResponse.SerializeToString,
            ),
            'GetAgentConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAgentConfiguration,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationResponse.SerializeToString,
            ),
            'GetBufferMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBufferMetadata,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataResponse.SerializeToString,
            ),
            'QueryDatapoints': grpc.unary_unary_rpc_method_handler(
                    servicer.QueryDatapoints,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsResponse.SerializeToString,
            ),
            'QueryEvents': grpc.unary_unary_rpc_method_handler(
                    servicer.QueryEvents,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsResponse.SerializeToString,
            ),
            'Health': grpc.unary_unary_rpc_method_handler(
                    servicer.Health,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.HealthRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.HealthResponse.SerializeToString,
            ),
            'GetCommandRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCommandRequest,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestResponse.SerializeToString,
            ),
            'GetCommandRequestStream': grpc.unary_stream_rpc_method_handler(
                    servicer.GetCommandRequestStream,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamResponse.SerializeToString,
            ),
            'SendCommandResponse': grpc.unary_unary_rpc_method_handler(
                    servicer.SendCommandResponse,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseResponse.SerializeToString,
            ),
            'PostTransformFrame': grpc.unary_unary_rpc_method_handler(
                    servicer.PostTransformFrame,
                    request_deserializer=protos_dot_model_dot_v1_dot_math__pb2.TransformFrame.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostTransformFrameResponse.SerializeToString,
            ),
            'SetBaseFrameID': grpc.unary_unary_rpc_method_handler(
                    servicer.SetBaseFrameID,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDResponse.SerializeToString,
            ),
            'ClearTransformTree': grpc.unary_unary_rpc_method_handler(
                    servicer.ClearTransformTree,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeResponse.SerializeToString,
            ),
            'GetTeleopInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTeleopInfo,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoResponse.SerializeToString,
            ),
            'PostLanRtcOffer': grpc.unary_unary_rpc_method_handler(
                    servicer.PostLanRtcOffer,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferResponse.SerializeToString,
            ),
            'SendOnCustomDataChannel': grpc.unary_unary_rpc_method_handler(
                    servicer.SendOnCustomDataChannel,
                    request_deserializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelRequest.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelResponse.SerializeToString,
            ),
            'PostGenericAPIRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.PostGenericAPIRequest,
                    request_deserializer=protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIRequestResponse.SerializeToString,
            ),
            'PostGenericAPIUnbufferedRequest': grpc.unary_unary_rpc_method_handler(
                    servicer.PostGenericAPIUnbufferedRequest,
                    request_deserializer=protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.FromString,
                    response_serializer=protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIUnbufferedRequestResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'v1.agent.Agent', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('v1.agent.Agent', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class Agent(object):
    """Agent is the Formant Agent gRPC API. 
    """

    @staticmethod
    def StreamData(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_unary(
            request_iterator,
            target,
            '/v1.agent.Agent/StreamData',
            protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.StreamDataResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostData(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,
            '/v1.agent.Agent/PostData',
            protos_dot_model_dot_v1_dot_datapoint__pb2.Datapoint.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostDataResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostDataMulti(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,
            '/v1.agent.Agent/PostDataMulti',
            protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostDataMultiResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTeleopControlDataStream(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,
            '/v1.agent.Agent/GetTeleopControlDataStream',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopControlDataStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTeleopHeartbeatStream(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,
            '/v1.agent.Agent/GetTeleopHeartbeatStream',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopHeartbeatStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTelemetryListenerStream(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,
            '/v1.agent.Agent/GetTelemetryListenerStream',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTelemetryListenerStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCustomDataChannelMessageStream(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,
            '/v1.agent.Agent/GetCustomDataChannelMessageStream',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCustomDataChannelMessageStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateEvent(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,
            '/v1.agent.Agent/CreateEvent',
            protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.CreateEventResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateInterventionRequest(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,
            '/v1.agent.Agent/CreateInterventionRequest',
            protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.SerializeToString,
            protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetInterventionRequest(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,
            '/v1.agent.Agent/GetInterventionRequest',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionRequestRequest.SerializeToString,
            protos_dot_model_dot_v1_dot_intervention__pb2.InterventionRequest.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetInterventionResponse(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,
            '/v1.agent.Agent/GetInterventionResponse',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetInterventionResponseRequest.SerializeToString,
            protos_dot_model_dot_v1_dot_intervention__pb2.InterventionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetStreamsConfiguration(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,
            '/v1.agent.Agent/GetStreamsConfiguration',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetStreamsConfigurationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetApplicationConfiguration(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,
            '/v1.agent.Agent/GetApplicationConfiguration',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetApplicationConfigurationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetConfigBlobData(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,
            '/v1.agent.Agent/GetConfigBlobData',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetConfigBlobDataResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAgentConfiguration(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,
            '/v1.agent.Agent/GetAgentConfiguration',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetAgentConfigurationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetBufferMetadata(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,
            '/v1.agent.Agent/GetBufferMetadata',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetBufferMetadataResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def QueryDatapoints(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,
            '/v1.agent.Agent/QueryDatapoints',
            protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.QueryDatapointsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def QueryEvents(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,
            '/v1.agent.Agent/QueryEvents',
            protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.QueryEventsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Health(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,
            '/v1.agent.Agent/Health',
            protos_dot_agent_dot_v1_dot_agent__pb2.HealthRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.HealthResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCommandRequest(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,
            '/v1.agent.Agent/GetCommandRequest',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCommandRequestStream(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,
            '/v1.agent.Agent/GetCommandRequestStream',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetCommandRequestStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SendCommandResponse(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,
            '/v1.agent.Agent/SendCommandResponse',
            protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.SendCommandResponseResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostTransformFrame(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,
            '/v1.agent.Agent/PostTransformFrame',
            protos_dot_model_dot_v1_dot_math__pb2.TransformFrame.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostTransformFrameResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetBaseFrameID(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,
            '/v1.agent.Agent/SetBaseFrameID',
            protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.SetBaseFrameIDResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ClearTransformTree(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,
            '/v1.agent.Agent/ClearTransformTree',
            protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.ClearTransformTreeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTeleopInfo(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,
            '/v1.agent.Agent/GetTeleopInfo',
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.GetTeleopInfoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostLanRtcOffer(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,
            '/v1.agent.Agent/PostLanRtcOffer',
            protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostLanRtcOfferResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SendOnCustomDataChannel(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,
            '/v1.agent.Agent/SendOnCustomDataChannel',
            protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelRequest.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.SendOnCustomDataChannelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostGenericAPIRequest(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,
            '/v1.agent.Agent/PostGenericAPIRequest',
            protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIRequestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PostGenericAPIUnbufferedRequest(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,
            '/v1.agent.Agent/PostGenericAPIUnbufferedRequest',
            protos_dot_model_dot_v1_dot_datapoint__pb2.GenericAPIDatapoint.SerializeToString,
            protos_dot_agent_dot_v1_dot_agent__pb2.PostGenericAPIUnbufferedRequestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
