config.pb.go 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. package observatory
  2. import (
  3. _ "github.com/v2fly/v2ray-core/v5/common/protoext"
  4. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  5. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  6. reflect "reflect"
  7. sync "sync"
  8. unsafe "unsafe"
  9. )
  10. const (
  11. // Verify that this generated code is sufficiently up-to-date.
  12. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  13. // Verify that runtime/protoimpl is sufficiently up-to-date.
  14. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  15. )
  16. type ObservationResult struct {
  17. state protoimpl.MessageState `protogen:"open.v1"`
  18. Status []*OutboundStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"`
  19. unknownFields protoimpl.UnknownFields
  20. sizeCache protoimpl.SizeCache
  21. }
  22. func (x *ObservationResult) Reset() {
  23. *x = ObservationResult{}
  24. mi := &file_app_observatory_config_proto_msgTypes[0]
  25. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  26. ms.StoreMessageInfo(mi)
  27. }
  28. func (x *ObservationResult) String() string {
  29. return protoimpl.X.MessageStringOf(x)
  30. }
  31. func (*ObservationResult) ProtoMessage() {}
  32. func (x *ObservationResult) ProtoReflect() protoreflect.Message {
  33. mi := &file_app_observatory_config_proto_msgTypes[0]
  34. if x != nil {
  35. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  36. if ms.LoadMessageInfo() == nil {
  37. ms.StoreMessageInfo(mi)
  38. }
  39. return ms
  40. }
  41. return mi.MessageOf(x)
  42. }
  43. // Deprecated: Use ObservationResult.ProtoReflect.Descriptor instead.
  44. func (*ObservationResult) Descriptor() ([]byte, []int) {
  45. return file_app_observatory_config_proto_rawDescGZIP(), []int{0}
  46. }
  47. func (x *ObservationResult) GetStatus() []*OutboundStatus {
  48. if x != nil {
  49. return x.Status
  50. }
  51. return nil
  52. }
  53. type HealthPingMeasurementResult struct {
  54. state protoimpl.MessageState `protogen:"open.v1"`
  55. All int64 `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"`
  56. Fail int64 `protobuf:"varint,2,opt,name=fail,proto3" json:"fail,omitempty"`
  57. Deviation int64 `protobuf:"varint,3,opt,name=deviation,proto3" json:"deviation,omitempty"`
  58. Average int64 `protobuf:"varint,4,opt,name=average,proto3" json:"average,omitempty"`
  59. Max int64 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"`
  60. Min int64 `protobuf:"varint,6,opt,name=min,proto3" json:"min,omitempty"`
  61. unknownFields protoimpl.UnknownFields
  62. sizeCache protoimpl.SizeCache
  63. }
  64. func (x *HealthPingMeasurementResult) Reset() {
  65. *x = HealthPingMeasurementResult{}
  66. mi := &file_app_observatory_config_proto_msgTypes[1]
  67. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  68. ms.StoreMessageInfo(mi)
  69. }
  70. func (x *HealthPingMeasurementResult) String() string {
  71. return protoimpl.X.MessageStringOf(x)
  72. }
  73. func (*HealthPingMeasurementResult) ProtoMessage() {}
  74. func (x *HealthPingMeasurementResult) ProtoReflect() protoreflect.Message {
  75. mi := &file_app_observatory_config_proto_msgTypes[1]
  76. if x != nil {
  77. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  78. if ms.LoadMessageInfo() == nil {
  79. ms.StoreMessageInfo(mi)
  80. }
  81. return ms
  82. }
  83. return mi.MessageOf(x)
  84. }
  85. // Deprecated: Use HealthPingMeasurementResult.ProtoReflect.Descriptor instead.
  86. func (*HealthPingMeasurementResult) Descriptor() ([]byte, []int) {
  87. return file_app_observatory_config_proto_rawDescGZIP(), []int{1}
  88. }
  89. func (x *HealthPingMeasurementResult) GetAll() int64 {
  90. if x != nil {
  91. return x.All
  92. }
  93. return 0
  94. }
  95. func (x *HealthPingMeasurementResult) GetFail() int64 {
  96. if x != nil {
  97. return x.Fail
  98. }
  99. return 0
  100. }
  101. func (x *HealthPingMeasurementResult) GetDeviation() int64 {
  102. if x != nil {
  103. return x.Deviation
  104. }
  105. return 0
  106. }
  107. func (x *HealthPingMeasurementResult) GetAverage() int64 {
  108. if x != nil {
  109. return x.Average
  110. }
  111. return 0
  112. }
  113. func (x *HealthPingMeasurementResult) GetMax() int64 {
  114. if x != nil {
  115. return x.Max
  116. }
  117. return 0
  118. }
  119. func (x *HealthPingMeasurementResult) GetMin() int64 {
  120. if x != nil {
  121. return x.Min
  122. }
  123. return 0
  124. }
  125. type OutboundStatus struct {
  126. state protoimpl.MessageState `protogen:"open.v1"`
  127. // @Document Whether this outbound is usable
  128. // @Restriction ReadOnlyForUser
  129. Alive bool `protobuf:"varint,1,opt,name=alive,proto3" json:"alive,omitempty"`
  130. // @Document The time for probe request to finish.
  131. // @Type time.ms
  132. // @Restriction ReadOnlyForUser
  133. Delay int64 `protobuf:"varint,2,opt,name=delay,proto3" json:"delay,omitempty"`
  134. // @Document The last error caused this outbound failed to relay probe request
  135. // @Restriction NotMachineReadable
  136. LastErrorReason string `protobuf:"bytes,3,opt,name=last_error_reason,json=lastErrorReason,proto3" json:"last_error_reason,omitempty"`
  137. // @Document The outbound tag for this Server
  138. // @Type id.outboundTag
  139. OutboundTag string `protobuf:"bytes,4,opt,name=outbound_tag,json=outboundTag,proto3" json:"outbound_tag,omitempty"`
  140. // @Document The time this outbound is known to be alive
  141. // @Type id.outboundTag
  142. LastSeenTime int64 `protobuf:"varint,5,opt,name=last_seen_time,json=lastSeenTime,proto3" json:"last_seen_time,omitempty"`
  143. // @Document The time this outbound is tried
  144. // @Type id.outboundTag
  145. LastTryTime int64 `protobuf:"varint,6,opt,name=last_try_time,json=lastTryTime,proto3" json:"last_try_time,omitempty"`
  146. HealthPing *HealthPingMeasurementResult `protobuf:"bytes,7,opt,name=health_ping,json=healthPing,proto3" json:"health_ping,omitempty"`
  147. unknownFields protoimpl.UnknownFields
  148. sizeCache protoimpl.SizeCache
  149. }
  150. func (x *OutboundStatus) Reset() {
  151. *x = OutboundStatus{}
  152. mi := &file_app_observatory_config_proto_msgTypes[2]
  153. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  154. ms.StoreMessageInfo(mi)
  155. }
  156. func (x *OutboundStatus) String() string {
  157. return protoimpl.X.MessageStringOf(x)
  158. }
  159. func (*OutboundStatus) ProtoMessage() {}
  160. func (x *OutboundStatus) ProtoReflect() protoreflect.Message {
  161. mi := &file_app_observatory_config_proto_msgTypes[2]
  162. if x != nil {
  163. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  164. if ms.LoadMessageInfo() == nil {
  165. ms.StoreMessageInfo(mi)
  166. }
  167. return ms
  168. }
  169. return mi.MessageOf(x)
  170. }
  171. // Deprecated: Use OutboundStatus.ProtoReflect.Descriptor instead.
  172. func (*OutboundStatus) Descriptor() ([]byte, []int) {
  173. return file_app_observatory_config_proto_rawDescGZIP(), []int{2}
  174. }
  175. func (x *OutboundStatus) GetAlive() bool {
  176. if x != nil {
  177. return x.Alive
  178. }
  179. return false
  180. }
  181. func (x *OutboundStatus) GetDelay() int64 {
  182. if x != nil {
  183. return x.Delay
  184. }
  185. return 0
  186. }
  187. func (x *OutboundStatus) GetLastErrorReason() string {
  188. if x != nil {
  189. return x.LastErrorReason
  190. }
  191. return ""
  192. }
  193. func (x *OutboundStatus) GetOutboundTag() string {
  194. if x != nil {
  195. return x.OutboundTag
  196. }
  197. return ""
  198. }
  199. func (x *OutboundStatus) GetLastSeenTime() int64 {
  200. if x != nil {
  201. return x.LastSeenTime
  202. }
  203. return 0
  204. }
  205. func (x *OutboundStatus) GetLastTryTime() int64 {
  206. if x != nil {
  207. return x.LastTryTime
  208. }
  209. return 0
  210. }
  211. func (x *OutboundStatus) GetHealthPing() *HealthPingMeasurementResult {
  212. if x != nil {
  213. return x.HealthPing
  214. }
  215. return nil
  216. }
  217. type ProbeResult struct {
  218. state protoimpl.MessageState `protogen:"open.v1"`
  219. // @Document Whether this outbound is usable
  220. // @Restriction ReadOnlyForUser
  221. Alive bool `protobuf:"varint,1,opt,name=alive,proto3" json:"alive,omitempty"`
  222. // @Document The time for probe request to finish.
  223. // @Type time.ms
  224. // @Restriction ReadOnlyForUser
  225. Delay int64 `protobuf:"varint,2,opt,name=delay,proto3" json:"delay,omitempty"`
  226. // @Document The error caused this outbound failed to relay probe request
  227. // @Restriction NotMachineReadable
  228. LastErrorReason string `protobuf:"bytes,3,opt,name=last_error_reason,json=lastErrorReason,proto3" json:"last_error_reason,omitempty"`
  229. unknownFields protoimpl.UnknownFields
  230. sizeCache protoimpl.SizeCache
  231. }
  232. func (x *ProbeResult) Reset() {
  233. *x = ProbeResult{}
  234. mi := &file_app_observatory_config_proto_msgTypes[3]
  235. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  236. ms.StoreMessageInfo(mi)
  237. }
  238. func (x *ProbeResult) String() string {
  239. return protoimpl.X.MessageStringOf(x)
  240. }
  241. func (*ProbeResult) ProtoMessage() {}
  242. func (x *ProbeResult) ProtoReflect() protoreflect.Message {
  243. mi := &file_app_observatory_config_proto_msgTypes[3]
  244. if x != nil {
  245. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  246. if ms.LoadMessageInfo() == nil {
  247. ms.StoreMessageInfo(mi)
  248. }
  249. return ms
  250. }
  251. return mi.MessageOf(x)
  252. }
  253. // Deprecated: Use ProbeResult.ProtoReflect.Descriptor instead.
  254. func (*ProbeResult) Descriptor() ([]byte, []int) {
  255. return file_app_observatory_config_proto_rawDescGZIP(), []int{3}
  256. }
  257. func (x *ProbeResult) GetAlive() bool {
  258. if x != nil {
  259. return x.Alive
  260. }
  261. return false
  262. }
  263. func (x *ProbeResult) GetDelay() int64 {
  264. if x != nil {
  265. return x.Delay
  266. }
  267. return 0
  268. }
  269. func (x *ProbeResult) GetLastErrorReason() string {
  270. if x != nil {
  271. return x.LastErrorReason
  272. }
  273. return ""
  274. }
  275. type Intensity struct {
  276. state protoimpl.MessageState `protogen:"open.v1"`
  277. // @Document The time interval for a probe request in ms.
  278. // @Type time.ms
  279. ProbeInterval uint32 `protobuf:"varint,1,opt,name=probe_interval,json=probeInterval,proto3" json:"probe_interval,omitempty"`
  280. unknownFields protoimpl.UnknownFields
  281. sizeCache protoimpl.SizeCache
  282. }
  283. func (x *Intensity) Reset() {
  284. *x = Intensity{}
  285. mi := &file_app_observatory_config_proto_msgTypes[4]
  286. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  287. ms.StoreMessageInfo(mi)
  288. }
  289. func (x *Intensity) String() string {
  290. return protoimpl.X.MessageStringOf(x)
  291. }
  292. func (*Intensity) ProtoMessage() {}
  293. func (x *Intensity) ProtoReflect() protoreflect.Message {
  294. mi := &file_app_observatory_config_proto_msgTypes[4]
  295. if x != nil {
  296. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  297. if ms.LoadMessageInfo() == nil {
  298. ms.StoreMessageInfo(mi)
  299. }
  300. return ms
  301. }
  302. return mi.MessageOf(x)
  303. }
  304. // Deprecated: Use Intensity.ProtoReflect.Descriptor instead.
  305. func (*Intensity) Descriptor() ([]byte, []int) {
  306. return file_app_observatory_config_proto_rawDescGZIP(), []int{4}
  307. }
  308. func (x *Intensity) GetProbeInterval() uint32 {
  309. if x != nil {
  310. return x.ProbeInterval
  311. }
  312. return 0
  313. }
  314. type Config struct {
  315. state protoimpl.MessageState `protogen:"open.v1"`
  316. // @Document The selectors for outbound under observation
  317. SubjectSelector []string `protobuf:"bytes,2,rep,name=subject_selector,json=subjectSelector,proto3" json:"subject_selector,omitempty"`
  318. ProbeUrl string `protobuf:"bytes,3,opt,name=probe_url,json=probeUrl,proto3" json:"probe_url,omitempty"`
  319. ProbeInterval int64 `protobuf:"varint,4,opt,name=probe_interval,json=probeInterval,proto3" json:"probe_interval,omitempty"`
  320. PersistentProbeResult bool `protobuf:"varint,5,opt,name=persistent_probe_result,json=persistentProbeResult,proto3" json:"persistent_probe_result,omitempty"`
  321. unknownFields protoimpl.UnknownFields
  322. sizeCache protoimpl.SizeCache
  323. }
  324. func (x *Config) Reset() {
  325. *x = Config{}
  326. mi := &file_app_observatory_config_proto_msgTypes[5]
  327. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  328. ms.StoreMessageInfo(mi)
  329. }
  330. func (x *Config) String() string {
  331. return protoimpl.X.MessageStringOf(x)
  332. }
  333. func (*Config) ProtoMessage() {}
  334. func (x *Config) ProtoReflect() protoreflect.Message {
  335. mi := &file_app_observatory_config_proto_msgTypes[5]
  336. if x != nil {
  337. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  338. if ms.LoadMessageInfo() == nil {
  339. ms.StoreMessageInfo(mi)
  340. }
  341. return ms
  342. }
  343. return mi.MessageOf(x)
  344. }
  345. // Deprecated: Use Config.ProtoReflect.Descriptor instead.
  346. func (*Config) Descriptor() ([]byte, []int) {
  347. return file_app_observatory_config_proto_rawDescGZIP(), []int{5}
  348. }
  349. func (x *Config) GetSubjectSelector() []string {
  350. if x != nil {
  351. return x.SubjectSelector
  352. }
  353. return nil
  354. }
  355. func (x *Config) GetProbeUrl() string {
  356. if x != nil {
  357. return x.ProbeUrl
  358. }
  359. return ""
  360. }
  361. func (x *Config) GetProbeInterval() int64 {
  362. if x != nil {
  363. return x.ProbeInterval
  364. }
  365. return 0
  366. }
  367. func (x *Config) GetPersistentProbeResult() bool {
  368. if x != nil {
  369. return x.PersistentProbeResult
  370. }
  371. return false
  372. }
  373. var File_app_observatory_config_proto protoreflect.FileDescriptor
  374. var file_app_observatory_config_proto_rawDesc = string([]byte{
  375. 0x0a, 0x1c, 0x61, 0x70, 0x70, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72,
  376. 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a,
  377. 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f,
  378. 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d,
  379. 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65,
  380. 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x11,
  381. 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
  382. 0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  383. 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61,
  384. 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4f,
  385. 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
  386. 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
  387. 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
  388. 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01,
  389. 0x28, 0x03, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x61, 0x69, 0x6c, 0x18,
  390. 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x66, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64,
  391. 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
  392. 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x76, 0x65,
  393. 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x76, 0x65, 0x72,
  394. 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
  395. 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01,
  396. 0x28, 0x03, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x22, 0xaf, 0x02, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x62,
  397. 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c,
  398. 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65,
  399. 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
  400. 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65,
  401. 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
  402. 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73,
  403. 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74,
  404. 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75,
  405. 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65,
  406. 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c,
  407. 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c,
  408. 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
  409. 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12,
  410. 0x58, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x07,
  411. 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72,
  412. 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72,
  413. 0x79, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x61, 0x73,
  414. 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x68,
  415. 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x65, 0x0a, 0x0b, 0x50, 0x72, 0x6f,
  416. 0x62, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x76,
  417. 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x14,
  418. 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64,
  419. 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72,
  420. 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  421. 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
  422. 0x22, 0x32, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a,
  423. 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18,
  424. 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65,
  425. 0x72, 0x76, 0x61, 0x6c, 0x22, 0xd5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  426. 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
  427. 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65,
  428. 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72,
  429. 0x6f, 0x62, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
  430. 0x72, 0x6f, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65,
  431. 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
  432. 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x36,
  433. 0x0a, 0x17, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f,
  434. 0x62, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
  435. 0x15, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65,
  436. 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x24, 0x82, 0xb5, 0x18, 0x20, 0x0a, 0x07, 0x73, 0x65,
  437. 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
  438. 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x6f, 0x0a, 0x1e,
  439. 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61,
  440. 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x01,
  441. 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66,
  442. 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35,
  443. 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79,
  444. 0xaa, 0x02, 0x1a, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70,
  445. 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70,
  446. 0x72, 0x6f, 0x74, 0x6f, 0x33,
  447. })
  448. var (
  449. file_app_observatory_config_proto_rawDescOnce sync.Once
  450. file_app_observatory_config_proto_rawDescData []byte
  451. )
  452. func file_app_observatory_config_proto_rawDescGZIP() []byte {
  453. file_app_observatory_config_proto_rawDescOnce.Do(func() {
  454. file_app_observatory_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_app_observatory_config_proto_rawDesc), len(file_app_observatory_config_proto_rawDesc)))
  455. })
  456. return file_app_observatory_config_proto_rawDescData
  457. }
  458. var file_app_observatory_config_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
  459. var file_app_observatory_config_proto_goTypes = []any{
  460. (*ObservationResult)(nil), // 0: v2ray.core.app.observatory.ObservationResult
  461. (*HealthPingMeasurementResult)(nil), // 1: v2ray.core.app.observatory.HealthPingMeasurementResult
  462. (*OutboundStatus)(nil), // 2: v2ray.core.app.observatory.OutboundStatus
  463. (*ProbeResult)(nil), // 3: v2ray.core.app.observatory.ProbeResult
  464. (*Intensity)(nil), // 4: v2ray.core.app.observatory.Intensity
  465. (*Config)(nil), // 5: v2ray.core.app.observatory.Config
  466. }
  467. var file_app_observatory_config_proto_depIdxs = []int32{
  468. 2, // 0: v2ray.core.app.observatory.ObservationResult.status:type_name -> v2ray.core.app.observatory.OutboundStatus
  469. 1, // 1: v2ray.core.app.observatory.OutboundStatus.health_ping:type_name -> v2ray.core.app.observatory.HealthPingMeasurementResult
  470. 2, // [2:2] is the sub-list for method output_type
  471. 2, // [2:2] is the sub-list for method input_type
  472. 2, // [2:2] is the sub-list for extension type_name
  473. 2, // [2:2] is the sub-list for extension extendee
  474. 0, // [0:2] is the sub-list for field type_name
  475. }
  476. func init() { file_app_observatory_config_proto_init() }
  477. func file_app_observatory_config_proto_init() {
  478. if File_app_observatory_config_proto != nil {
  479. return
  480. }
  481. type x struct{}
  482. out := protoimpl.TypeBuilder{
  483. File: protoimpl.DescBuilder{
  484. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  485. RawDescriptor: unsafe.Slice(unsafe.StringData(file_app_observatory_config_proto_rawDesc), len(file_app_observatory_config_proto_rawDesc)),
  486. NumEnums: 0,
  487. NumMessages: 6,
  488. NumExtensions: 0,
  489. NumServices: 0,
  490. },
  491. GoTypes: file_app_observatory_config_proto_goTypes,
  492. DependencyIndexes: file_app_observatory_config_proto_depIdxs,
  493. MessageInfos: file_app_observatory_config_proto_msgTypes,
  494. }.Build()
  495. File_app_observatory_config_proto = out.File
  496. file_app_observatory_config_proto_goTypes = nil
  497. file_app_observatory_config_proto_depIdxs = nil
  498. }