# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: github_com/TheThingsNetwork/api/monitor/monitor.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from ttn.github_com.TheThingsNetwork.api.gateway import gateway_pb2 as github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2
from ttn.github_com.TheThingsNetwork.api.router import router_pb2 as github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2
from ttn.github_com.TheThingsNetwork.api.broker import broker_pb2 as github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2
from ttn.github_com.TheThingsNetwork.api.handler import handler_pb2 as github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2
from ttn.github_com.TheThingsNetwork.api.networkserver import networkserver_pb2 as github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='github_com/TheThingsNetwork/api/monitor/monitor.proto',
  package='monitor',
  syntax='proto3',
  serialized_pb=_b('\n5github_com/TheThingsNetwork/api/monitor/monitor.proto\x12\x07monitor\x1a\x1bgoogle/protobuf/empty.proto\x1a\x35github_com/TheThingsNetwork/api/gateway/gateway.proto\x1a\x33github_com/TheThingsNetwork/api/router/router.proto\x1a\x33github_com/TheThingsNetwork/api/broker/broker.proto\x1a\x35github_com/TheThingsNetwork/api/handler/handler.proto\x1a\x41github_com/TheThingsNetwork/api/networkserver/networkserver.proto2\xeb\x05\n\x07Monitor\x12\x38\n\x0cRouterStatus\x12\x0e.router.Status\x1a\x16.google.protobuf.Empty(\x01\x12:\n\rGatewayStatus\x12\x0f.gateway.Status\x1a\x16.google.protobuf.Empty(\x01\x12@\n\rGatewayUplink\x12\x15.router.UplinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12\x44\n\x0fGatewayDownlink\x12\x17.router.DownlinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12\x38\n\x0c\x42rokerStatus\x12\x0e.broker.Status\x1a\x16.google.protobuf.Empty(\x01\x12K\n\x0c\x42rokerUplink\x12!.broker.DeduplicatedUplinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12\x43\n\x0e\x42rokerDownlink\x12\x17.broker.DownlinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12:\n\rHandlerStatus\x12\x0f.handler.Status\x1a\x16.google.protobuf.Empty(\x01\x12L\n\rHandlerUplink\x12!.broker.DeduplicatedUplinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12\x44\n\x0fHandlerDownlink\x12\x17.broker.DownlinkMessage\x1a\x16.google.protobuf.Empty(\x01\x12\x46\n\x13NetworkServerStatus\x12\x15.networkserver.Status\x1a\x16.google.protobuf.Empty(\x01\x42z\n org.thethingsnetwork.api.monitorB\x0cMonitorProtoP\x01Z\'github_com/TheThingsNetwork/api/monitor\xaa\x02\x1cTheThingsNetwork.API.Monitorb\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2.DESCRIPTOR,github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.DESCRIPTOR,github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DESCRIPTOR,github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2.DESCRIPTOR,github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2.DESCRIPTOR,])



_sym_db.RegisterFileDescriptor(DESCRIPTOR)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n org.thethingsnetwork.api.monitorB\014MonitorProtoP\001Z\'github_com/TheThingsNetwork/api/monitor\252\002\034TheThingsNetwork.API.Monitor'))

_MONITOR = _descriptor.ServiceDescriptor(
  name='Monitor',
  full_name='monitor.Monitor',
  file=DESCRIPTOR,
  index=0,
  options=None,
  serialized_start=379,
  serialized_end=1126,
  methods=[
  _descriptor.MethodDescriptor(
    name='RouterStatus',
    full_name='monitor.Monitor.RouterStatus',
    index=0,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2._STATUS,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GatewayStatus',
    full_name='monitor.Monitor.GatewayStatus',
    index=1,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2._STATUS,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GatewayUplink',
    full_name='monitor.Monitor.GatewayUplink',
    index=2,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2._UPLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GatewayDownlink',
    full_name='monitor.Monitor.GatewayDownlink',
    index=3,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2._DOWNLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BrokerStatus',
    full_name='monitor.Monitor.BrokerStatus',
    index=4,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2._STATUS,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BrokerUplink',
    full_name='monitor.Monitor.BrokerUplink',
    index=5,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2._DEDUPLICATEDUPLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BrokerDownlink',
    full_name='monitor.Monitor.BrokerDownlink',
    index=6,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2._DOWNLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HandlerStatus',
    full_name='monitor.Monitor.HandlerStatus',
    index=7,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2._STATUS,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HandlerUplink',
    full_name='monitor.Monitor.HandlerUplink',
    index=8,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2._DEDUPLICATEDUPLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HandlerDownlink',
    full_name='monitor.Monitor.HandlerDownlink',
    index=9,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2._DOWNLINKMESSAGE,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='NetworkServerStatus',
    full_name='monitor.Monitor.NetworkServerStatus',
    index=10,
    containing_service=None,
    input_type=github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2._STATUS,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_MONITOR)

DESCRIPTOR.services_by_name['Monitor'] = _MONITOR

try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities


  class MonitorStub(object):
    # missing associated documentation comment in .proto file
    pass

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

      Args:
        channel: A grpc.Channel.
      """
      self.RouterStatus = channel.stream_unary(
          '/monitor.Monitor/RouterStatus',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.Status.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.GatewayStatus = channel.stream_unary(
          '/monitor.Monitor/GatewayStatus',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2.Status.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.GatewayUplink = channel.stream_unary(
          '/monitor.Monitor/GatewayUplink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.UplinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.GatewayDownlink = channel.stream_unary(
          '/monitor.Monitor/GatewayDownlink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.DownlinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.BrokerStatus = channel.stream_unary(
          '/monitor.Monitor/BrokerStatus',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.Status.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.BrokerUplink = channel.stream_unary(
          '/monitor.Monitor/BrokerUplink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.BrokerDownlink = channel.stream_unary(
          '/monitor.Monitor/BrokerDownlink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.HandlerStatus = channel.stream_unary(
          '/monitor.Monitor/HandlerStatus',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2.Status.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.HandlerUplink = channel.stream_unary(
          '/monitor.Monitor/HandlerUplink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.HandlerDownlink = channel.stream_unary(
          '/monitor.Monitor/HandlerDownlink',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.NetworkServerStatus = channel.stream_unary(
          '/monitor.Monitor/NetworkServerStatus',
          request_serializer=github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2.Status.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )


  class MonitorServicer(object):
    # missing associated documentation comment in .proto file
    pass

    def RouterStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GatewayStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GatewayUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GatewayDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def BrokerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def BrokerUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def BrokerDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def HandlerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def HandlerUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def HandlerDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def NetworkServerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_MonitorServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'RouterStatus': grpc.stream_unary_rpc_method_handler(
            servicer.RouterStatus,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.Status.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'GatewayStatus': grpc.stream_unary_rpc_method_handler(
            servicer.GatewayStatus,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2.Status.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'GatewayUplink': grpc.stream_unary_rpc_method_handler(
            servicer.GatewayUplink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.UplinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'GatewayDownlink': grpc.stream_unary_rpc_method_handler(
            servicer.GatewayDownlink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.DownlinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'BrokerStatus': grpc.stream_unary_rpc_method_handler(
            servicer.BrokerStatus,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.Status.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'BrokerUplink': grpc.stream_unary_rpc_method_handler(
            servicer.BrokerUplink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'BrokerDownlink': grpc.stream_unary_rpc_method_handler(
            servicer.BrokerDownlink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'HandlerStatus': grpc.stream_unary_rpc_method_handler(
            servicer.HandlerStatus,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2.Status.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'HandlerUplink': grpc.stream_unary_rpc_method_handler(
            servicer.HandlerUplink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'HandlerDownlink': grpc.stream_unary_rpc_method_handler(
            servicer.HandlerDownlink,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'NetworkServerStatus': grpc.stream_unary_rpc_method_handler(
            servicer.NetworkServerStatus,
            request_deserializer=github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2.Status.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'monitor.Monitor', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaMonitorServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    # missing associated documentation comment in .proto file
    pass
    def RouterStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GatewayStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GatewayUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GatewayDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def BrokerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def BrokerUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def BrokerDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def HandlerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def HandlerUplink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def HandlerDownlink(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def NetworkServerStatus(self, request_iterator, context):
      # missing associated documentation comment in .proto file
      pass
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaMonitorStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    # missing associated documentation comment in .proto file
    pass
    def RouterStatus(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    RouterStatus.future = None
    def GatewayStatus(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    GatewayStatus.future = None
    def GatewayUplink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    GatewayUplink.future = None
    def GatewayDownlink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    GatewayDownlink.future = None
    def BrokerStatus(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    BrokerStatus.future = None
    def BrokerUplink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    BrokerUplink.future = None
    def BrokerDownlink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    BrokerDownlink.future = None
    def HandlerStatus(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    HandlerStatus.future = None
    def HandlerUplink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    HandlerUplink.future = None
    def HandlerDownlink(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    HandlerDownlink.future = None
    def NetworkServerStatus(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      # missing associated documentation comment in .proto file
      pass
      raise NotImplementedError()
    NetworkServerStatus.future = None


  def beta_create_Monitor_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('monitor.Monitor', 'BrokerDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.FromString,
      ('monitor.Monitor', 'BrokerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.Status.FromString,
      ('monitor.Monitor', 'BrokerUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.FromString,
      ('monitor.Monitor', 'GatewayDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.DownlinkMessage.FromString,
      ('monitor.Monitor', 'GatewayStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2.Status.FromString,
      ('monitor.Monitor', 'GatewayUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.UplinkMessage.FromString,
      ('monitor.Monitor', 'HandlerDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.FromString,
      ('monitor.Monitor', 'HandlerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2.Status.FromString,
      ('monitor.Monitor', 'HandlerUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.FromString,
      ('monitor.Monitor', 'NetworkServerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2.Status.FromString,
      ('monitor.Monitor', 'RouterStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.Status.FromString,
    }
    response_serializers = {
      ('monitor.Monitor', 'BrokerDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'BrokerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'BrokerUplink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'GatewayDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'GatewayStatus'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'GatewayUplink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'HandlerDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'HandlerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'HandlerUplink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'NetworkServerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('monitor.Monitor', 'RouterStatus'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
    }
    method_implementations = {
      ('monitor.Monitor', 'BrokerDownlink'): face_utilities.stream_unary_inline(servicer.BrokerDownlink),
      ('monitor.Monitor', 'BrokerStatus'): face_utilities.stream_unary_inline(servicer.BrokerStatus),
      ('monitor.Monitor', 'BrokerUplink'): face_utilities.stream_unary_inline(servicer.BrokerUplink),
      ('monitor.Monitor', 'GatewayDownlink'): face_utilities.stream_unary_inline(servicer.GatewayDownlink),
      ('monitor.Monitor', 'GatewayStatus'): face_utilities.stream_unary_inline(servicer.GatewayStatus),
      ('monitor.Monitor', 'GatewayUplink'): face_utilities.stream_unary_inline(servicer.GatewayUplink),
      ('monitor.Monitor', 'HandlerDownlink'): face_utilities.stream_unary_inline(servicer.HandlerDownlink),
      ('monitor.Monitor', 'HandlerStatus'): face_utilities.stream_unary_inline(servicer.HandlerStatus),
      ('monitor.Monitor', 'HandlerUplink'): face_utilities.stream_unary_inline(servicer.HandlerUplink),
      ('monitor.Monitor', 'NetworkServerStatus'): face_utilities.stream_unary_inline(servicer.NetworkServerStatus),
      ('monitor.Monitor', 'RouterStatus'): face_utilities.stream_unary_inline(servicer.RouterStatus),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_Monitor_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('monitor.Monitor', 'BrokerDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.SerializeToString,
      ('monitor.Monitor', 'BrokerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.Status.SerializeToString,
      ('monitor.Monitor', 'BrokerUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.SerializeToString,
      ('monitor.Monitor', 'GatewayDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.DownlinkMessage.SerializeToString,
      ('monitor.Monitor', 'GatewayStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_gateway_dot_gateway__pb2.Status.SerializeToString,
      ('monitor.Monitor', 'GatewayUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.UplinkMessage.SerializeToString,
      ('monitor.Monitor', 'HandlerDownlink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DownlinkMessage.SerializeToString,
      ('monitor.Monitor', 'HandlerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_handler_dot_handler__pb2.Status.SerializeToString,
      ('monitor.Monitor', 'HandlerUplink'): github__com_dot_TheThingsNetwork_dot_api_dot_broker_dot_broker__pb2.DeduplicatedUplinkMessage.SerializeToString,
      ('monitor.Monitor', 'NetworkServerStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_networkserver_dot_networkserver__pb2.Status.SerializeToString,
      ('monitor.Monitor', 'RouterStatus'): github__com_dot_TheThingsNetwork_dot_api_dot_router_dot_router__pb2.Status.SerializeToString,
    }
    response_deserializers = {
      ('monitor.Monitor', 'BrokerDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'BrokerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'BrokerUplink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'GatewayDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'GatewayStatus'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'GatewayUplink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'HandlerDownlink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'HandlerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'HandlerUplink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'NetworkServerStatus'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('monitor.Monitor', 'RouterStatus'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
    }
    cardinalities = {
      'BrokerDownlink': cardinality.Cardinality.STREAM_UNARY,
      'BrokerStatus': cardinality.Cardinality.STREAM_UNARY,
      'BrokerUplink': cardinality.Cardinality.STREAM_UNARY,
      'GatewayDownlink': cardinality.Cardinality.STREAM_UNARY,
      'GatewayStatus': cardinality.Cardinality.STREAM_UNARY,
      'GatewayUplink': cardinality.Cardinality.STREAM_UNARY,
      'HandlerDownlink': cardinality.Cardinality.STREAM_UNARY,
      'HandlerStatus': cardinality.Cardinality.STREAM_UNARY,
      'HandlerUplink': cardinality.Cardinality.STREAM_UNARY,
      'NetworkServerStatus': cardinality.Cardinality.STREAM_UNARY,
      'RouterStatus': cardinality.Cardinality.STREAM_UNARY,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'monitor.Monitor', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
