# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: api.proto

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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='api.proto',
  package='trojan.api',
  syntax='proto3',
  serialized_options=b'Z\t.;service',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\tapi.proto\x12\ntrojan.api\";\n\x07Traffic\x12\x16\n\x0eupload_traffic\x18\x01 \x01(\x04\x12\x18\n\x10\x64ownload_traffic\x18\x02 \x01(\x04\"5\n\x05Speed\x12\x14\n\x0cupload_speed\x18\x01 \x01(\x04\x12\x16\n\x0e\x64ownload_speed\x18\x02 \x01(\x04\"&\n\x04User\x12\x10\n\x08password\x18\x01 \x01(\t\x12\x0c\n\x04hash\x18\x02 \x01(\t\"\xd0\x01\n\nUserStatus\x12\x1e\n\x04user\x18\x01 \x01(\x0b\x32\x10.trojan.api.User\x12*\n\rtraffic_total\x18\x02 \x01(\x0b\x32\x13.trojan.api.Traffic\x12(\n\rspeed_current\x18\x03 \x01(\x0b\x32\x11.trojan.api.Speed\x12&\n\x0bspeed_limit\x18\x04 \x01(\x0b\x32\x11.trojan.api.Speed\x12\x12\n\nip_current\x18\x05 \x01(\x05\x12\x10\n\x08ip_limit\x18\x06 \x01(\x05\"3\n\x11GetTrafficRequest\x12\x1e\n\x04user\x18\x01 \x01(\x0b\x32\x10.trojan.api.User\"\x89\x01\n\x12GetTrafficResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04info\x18\x02 \x01(\t\x12*\n\rtraffic_total\x18\x03 \x01(\x0b\x32\x13.trojan.api.Traffic\x12(\n\rspeed_current\x18\x04 \x01(\x0b\x32\x11.trojan.api.Speed\"\x12\n\x10ListUsersRequest\";\n\x11ListUsersResponse\x12&\n\x06status\x18\x01 \x01(\x0b\x32\x16.trojan.api.UserStatus\"1\n\x0fGetUsersRequest\x12\x1e\n\x04user\x18\x01 \x01(\x0b\x32\x10.trojan.api.User\"Y\n\x10GetUsersResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04info\x18\x02 \x01(\t\x12&\n\x06status\x18\x03 \x01(\x0b\x32\x16.trojan.api.UserStatus\"\xa1\x01\n\x0fSetUsersRequest\x12&\n\x06status\x18\x01 \x01(\x0b\x32\x16.trojan.api.UserStatus\x12\x38\n\toperation\x18\x02 \x01(\x0e\x32%.trojan.api.SetUsersRequest.Operation\",\n\tOperation\x12\x07\n\x03\x41\x64\x64\x10\x00\x12\n\n\x06\x44\x65lete\x10\x01\x12\n\n\x06Modify\x10\x02\"1\n\x10SetUsersResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04info\x18\x02 \x01(\t2d\n\x13TrojanClientService\x12M\n\nGetTraffic\x12\x1d.trojan.api.GetTrafficRequest\x1a\x1e.trojan.api.GetTrafficResponse\"\x00\x32\xfd\x01\n\x13TrojanServerService\x12L\n\tListUsers\x12\x1c.trojan.api.ListUsersRequest\x1a\x1d.trojan.api.ListUsersResponse\"\x00\x30\x01\x12K\n\x08GetUsers\x12\x1b.trojan.api.GetUsersRequest\x1a\x1c.trojan.api.GetUsersResponse\"\x00(\x01\x30\x01\x12K\n\x08SetUsers\x12\x1b.trojan.api.SetUsersRequest\x1a\x1c.trojan.api.SetUsersResponse\"\x00(\x01\x30\x01\x42\x0bZ\t.;serviceb\x06proto3'
)



_SETUSERSREQUEST_OPERATION = _descriptor.EnumDescriptor(
  name='Operation',
  full_name='trojan.api.SetUsersRequest.Operation',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='Add', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='Delete', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='Modify', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=926,
  serialized_end=970,
)
_sym_db.RegisterEnumDescriptor(_SETUSERSREQUEST_OPERATION)


_TRAFFIC = _descriptor.Descriptor(
  name='Traffic',
  full_name='trojan.api.Traffic',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='upload_traffic', full_name='trojan.api.Traffic.upload_traffic', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='download_traffic', full_name='trojan.api.Traffic.download_traffic', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=25,
  serialized_end=84,
)


_SPEED = _descriptor.Descriptor(
  name='Speed',
  full_name='trojan.api.Speed',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='upload_speed', full_name='trojan.api.Speed.upload_speed', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='download_speed', full_name='trojan.api.Speed.download_speed', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=86,
  serialized_end=139,
)


_USER = _descriptor.Descriptor(
  name='User',
  full_name='trojan.api.User',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='password', full_name='trojan.api.User.password', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='hash', full_name='trojan.api.User.hash', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=141,
  serialized_end=179,
)


_USERSTATUS = _descriptor.Descriptor(
  name='UserStatus',
  full_name='trojan.api.UserStatus',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='user', full_name='trojan.api.UserStatus.user', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='traffic_total', full_name='trojan.api.UserStatus.traffic_total', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speed_current', full_name='trojan.api.UserStatus.speed_current', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speed_limit', full_name='trojan.api.UserStatus.speed_limit', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ip_current', full_name='trojan.api.UserStatus.ip_current', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ip_limit', full_name='trojan.api.UserStatus.ip_limit', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=182,
  serialized_end=390,
)


_GETTRAFFICREQUEST = _descriptor.Descriptor(
  name='GetTrafficRequest',
  full_name='trojan.api.GetTrafficRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='user', full_name='trojan.api.GetTrafficRequest.user', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=392,
  serialized_end=443,
)


_GETTRAFFICRESPONSE = _descriptor.Descriptor(
  name='GetTrafficResponse',
  full_name='trojan.api.GetTrafficResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='trojan.api.GetTrafficResponse.success', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='info', full_name='trojan.api.GetTrafficResponse.info', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='traffic_total', full_name='trojan.api.GetTrafficResponse.traffic_total', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speed_current', full_name='trojan.api.GetTrafficResponse.speed_current', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=446,
  serialized_end=583,
)


_LISTUSERSREQUEST = _descriptor.Descriptor(
  name='ListUsersRequest',
  full_name='trojan.api.ListUsersRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=585,
  serialized_end=603,
)


_LISTUSERSRESPONSE = _descriptor.Descriptor(
  name='ListUsersResponse',
  full_name='trojan.api.ListUsersResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='trojan.api.ListUsersResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=605,
  serialized_end=664,
)


_GETUSERSREQUEST = _descriptor.Descriptor(
  name='GetUsersRequest',
  full_name='trojan.api.GetUsersRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='user', full_name='trojan.api.GetUsersRequest.user', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=666,
  serialized_end=715,
)


_GETUSERSRESPONSE = _descriptor.Descriptor(
  name='GetUsersResponse',
  full_name='trojan.api.GetUsersResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='trojan.api.GetUsersResponse.success', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='info', full_name='trojan.api.GetUsersResponse.info', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='status', full_name='trojan.api.GetUsersResponse.status', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=717,
  serialized_end=806,
)


_SETUSERSREQUEST = _descriptor.Descriptor(
  name='SetUsersRequest',
  full_name='trojan.api.SetUsersRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='trojan.api.SetUsersRequest.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='operation', full_name='trojan.api.SetUsersRequest.operation', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SETUSERSREQUEST_OPERATION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=809,
  serialized_end=970,
)


_SETUSERSRESPONSE = _descriptor.Descriptor(
  name='SetUsersResponse',
  full_name='trojan.api.SetUsersResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='trojan.api.SetUsersResponse.success', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='info', full_name='trojan.api.SetUsersResponse.info', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=972,
  serialized_end=1021,
)

_USERSTATUS.fields_by_name['user'].message_type = _USER
_USERSTATUS.fields_by_name['traffic_total'].message_type = _TRAFFIC
_USERSTATUS.fields_by_name['speed_current'].message_type = _SPEED
_USERSTATUS.fields_by_name['speed_limit'].message_type = _SPEED
_GETTRAFFICREQUEST.fields_by_name['user'].message_type = _USER
_GETTRAFFICRESPONSE.fields_by_name['traffic_total'].message_type = _TRAFFIC
_GETTRAFFICRESPONSE.fields_by_name['speed_current'].message_type = _SPEED
_LISTUSERSRESPONSE.fields_by_name['status'].message_type = _USERSTATUS
_GETUSERSREQUEST.fields_by_name['user'].message_type = _USER
_GETUSERSRESPONSE.fields_by_name['status'].message_type = _USERSTATUS
_SETUSERSREQUEST.fields_by_name['status'].message_type = _USERSTATUS
_SETUSERSREQUEST.fields_by_name['operation'].enum_type = _SETUSERSREQUEST_OPERATION
_SETUSERSREQUEST_OPERATION.containing_type = _SETUSERSREQUEST
DESCRIPTOR.message_types_by_name['Traffic'] = _TRAFFIC
DESCRIPTOR.message_types_by_name['Speed'] = _SPEED
DESCRIPTOR.message_types_by_name['User'] = _USER
DESCRIPTOR.message_types_by_name['UserStatus'] = _USERSTATUS
DESCRIPTOR.message_types_by_name['GetTrafficRequest'] = _GETTRAFFICREQUEST
DESCRIPTOR.message_types_by_name['GetTrafficResponse'] = _GETTRAFFICRESPONSE
DESCRIPTOR.message_types_by_name['ListUsersRequest'] = _LISTUSERSREQUEST
DESCRIPTOR.message_types_by_name['ListUsersResponse'] = _LISTUSERSRESPONSE
DESCRIPTOR.message_types_by_name['GetUsersRequest'] = _GETUSERSREQUEST
DESCRIPTOR.message_types_by_name['GetUsersResponse'] = _GETUSERSRESPONSE
DESCRIPTOR.message_types_by_name['SetUsersRequest'] = _SETUSERSREQUEST
DESCRIPTOR.message_types_by_name['SetUsersResponse'] = _SETUSERSRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Traffic = _reflection.GeneratedProtocolMessageType('Traffic', (_message.Message,), {
  'DESCRIPTOR' : _TRAFFIC,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.Traffic)
  })
_sym_db.RegisterMessage(Traffic)

Speed = _reflection.GeneratedProtocolMessageType('Speed', (_message.Message,), {
  'DESCRIPTOR' : _SPEED,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.Speed)
  })
_sym_db.RegisterMessage(Speed)

User = _reflection.GeneratedProtocolMessageType('User', (_message.Message,), {
  'DESCRIPTOR' : _USER,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.User)
  })
_sym_db.RegisterMessage(User)

UserStatus = _reflection.GeneratedProtocolMessageType('UserStatus', (_message.Message,), {
  'DESCRIPTOR' : _USERSTATUS,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.UserStatus)
  })
_sym_db.RegisterMessage(UserStatus)

GetTrafficRequest = _reflection.GeneratedProtocolMessageType('GetTrafficRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETTRAFFICREQUEST,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.GetTrafficRequest)
  })
_sym_db.RegisterMessage(GetTrafficRequest)

GetTrafficResponse = _reflection.GeneratedProtocolMessageType('GetTrafficResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETTRAFFICRESPONSE,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.GetTrafficResponse)
  })
_sym_db.RegisterMessage(GetTrafficResponse)

ListUsersRequest = _reflection.GeneratedProtocolMessageType('ListUsersRequest', (_message.Message,), {
  'DESCRIPTOR' : _LISTUSERSREQUEST,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.ListUsersRequest)
  })
_sym_db.RegisterMessage(ListUsersRequest)

ListUsersResponse = _reflection.GeneratedProtocolMessageType('ListUsersResponse', (_message.Message,), {
  'DESCRIPTOR' : _LISTUSERSRESPONSE,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.ListUsersResponse)
  })
_sym_db.RegisterMessage(ListUsersResponse)

GetUsersRequest = _reflection.GeneratedProtocolMessageType('GetUsersRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETUSERSREQUEST,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.GetUsersRequest)
  })
_sym_db.RegisterMessage(GetUsersRequest)

GetUsersResponse = _reflection.GeneratedProtocolMessageType('GetUsersResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETUSERSRESPONSE,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.GetUsersResponse)
  })
_sym_db.RegisterMessage(GetUsersResponse)

SetUsersRequest = _reflection.GeneratedProtocolMessageType('SetUsersRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETUSERSREQUEST,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.SetUsersRequest)
  })
_sym_db.RegisterMessage(SetUsersRequest)

SetUsersResponse = _reflection.GeneratedProtocolMessageType('SetUsersResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETUSERSRESPONSE,
  '__module__' : 'api_pb2'
  # @@protoc_insertion_point(class_scope:trojan.api.SetUsersResponse)
  })
_sym_db.RegisterMessage(SetUsersResponse)


DESCRIPTOR._options = None

_TROJANCLIENTSERVICE = _descriptor.ServiceDescriptor(
  name='TrojanClientService',
  full_name='trojan.api.TrojanClientService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=1023,
  serialized_end=1123,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetTraffic',
    full_name='trojan.api.TrojanClientService.GetTraffic',
    index=0,
    containing_service=None,
    input_type=_GETTRAFFICREQUEST,
    output_type=_GETTRAFFICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_TROJANCLIENTSERVICE)

DESCRIPTOR.services_by_name['TrojanClientService'] = _TROJANCLIENTSERVICE


_TROJANSERVERSERVICE = _descriptor.ServiceDescriptor(
  name='TrojanServerService',
  full_name='trojan.api.TrojanServerService',
  file=DESCRIPTOR,
  index=1,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=1126,
  serialized_end=1379,
  methods=[
  _descriptor.MethodDescriptor(
    name='ListUsers',
    full_name='trojan.api.TrojanServerService.ListUsers',
    index=0,
    containing_service=None,
    input_type=_LISTUSERSREQUEST,
    output_type=_LISTUSERSRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetUsers',
    full_name='trojan.api.TrojanServerService.GetUsers',
    index=1,
    containing_service=None,
    input_type=_GETUSERSREQUEST,
    output_type=_GETUSERSRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SetUsers',
    full_name='trojan.api.TrojanServerService.SetUsers',
    index=2,
    containing_service=None,
    input_type=_SETUSERSREQUEST,
    output_type=_SETUSERSRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_TROJANSERVERSERVICE)

DESCRIPTOR.services_by_name['TrojanServerService'] = _TROJANSERVERSERVICE

# @@protoc_insertion_point(module_scope)
