From 3522f1011fb8abf6d1b397c0f831dd3b4058d2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=97=E5=86=9B?= <851516902@qq.com> Date: Thu, 7 May 2026 15:54:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .idea/.gitignore | 8 + .idea/compiler.xml | 26 + .idea/dataSources.xml | 18 + .idea/encodings.xml | 11 + .idea/jarRepositories.xml | 35 + .idea/misc.xml | 12 + .idea/uiDesigner.xml | 124 ++ BaseModule/README.md | 107 ++ BaseModule/pom.xml | 51 + .../base/cmd/AbstractTypedPbCommand.java | 37 + .../main/java/com/huangzj/base/cmd/Cmd.java | 25 + .../base/cmd/CmdRpcChannelDispatch.java | 54 + .../com/huangzj/base/cmd/CmdRpcDispatch.java | 30 + .../com/huangzj/base/cmd/CommandContext.java | 52 + .../com/huangzj/base/cmd/CommandSource.java | 28 + .../com/huangzj/base/cmd/CrossRpcInvoker.java | 14 + .../com/huangzj/base/cmd/GameCommand.java | 15 + .../huangzj/base/cmd/GameCommandLookup.java | 9 + .../huangzj/base/cmd/ProtoCommandReflect.java | 60 + .../java/com/huangzj/base/cmd/ProtoInfo.java | 14 + .../com/huangzj/base/cmd/ProtoRegistry.java | 33 + .../base/cmd/ProtoRegistryAutoConfigurer.java | 56 + .../base/cmd/TypedPbCommandReflect.java | 64 + .../base/frame/LengthPrefixedProtobuf.java | 32 + .../com/huangzj/base/frame/NettyBufUtil.java | 20 + .../huangzj/base/module/AbsHostModule.java | 16 + .../huangzj/base/module/GeneralModule.java | 121 ++ .../base/module/ModuleMetricsProvider.java | 15 + .../com/huangzj/base/module/PlayerModule.java | 17 + .../base/net/CmdRpcTcpFrameHandler.java | 48 + .../spring/SpringGameCommandRegistry.java | 55 + .../spring/module/PlayerModuleRegistry.java | 85 ++ .../base/cmd/AbstractTypedPbCommand.class | Bin 0 -> 3416 bytes .../classes/com/huangzj/base/cmd/Cmd.class | Bin 0 -> 481 bytes .../base/cmd/CmdRpcChannelDispatch.class | Bin 0 -> 3999 bytes .../com/huangzj/base/cmd/CmdRpcDispatch.class | Bin 0 -> 1591 bytes .../com/huangzj/base/cmd/CommandContext.class | Bin 0 -> 2177 bytes .../com/huangzj/base/cmd/CommandSource.class | Bin 0 -> 1563 bytes .../huangzj/base/cmd/CrossRpcInvoker.class | Bin 0 -> 317 bytes .../com/huangzj/base/cmd/GameCommand.class | Bin 0 -> 354 bytes .../huangzj/base/cmd/GameCommandLookup.class | Bin 0 -> 252 bytes .../base/cmd/ProtoCommandReflect.class | Bin 0 -> 4498 bytes .../com/huangzj/base/cmd/ProtoInfo.class | Bin 0 -> 2461 bytes .../com/huangzj/base/cmd/ProtoRegistry.class | Bin 0 -> 2500 bytes .../cmd/ProtoRegistryAutoConfigurer.class | Bin 0 -> 4722 bytes .../cmd/TypedPbCommandReflect$CtsStc.class | Bin 0 -> 2082 bytes .../base/cmd/TypedPbCommandReflect.class | Bin 0 -> 2776 bytes .../base/frame/LengthPrefixedProtobuf.class | Bin 0 -> 1290 bytes .../com/huangzj/base/frame/NettyBufUtil.class | Bin 0 -> 666 bytes .../huangzj/base/module/AbsHostModule.class | Bin 0 -> 753 bytes .../huangzj/base/module/GeneralModule.class | Bin 0 -> 3760 bytes .../base/module/ModuleMetricsProvider.class | Bin 0 -> 466 bytes .../huangzj/base/module/PlayerModule.class | Bin 0 -> 455 bytes .../base/net/CmdRpcTcpFrameHandler.class | Bin 0 -> 3209 bytes .../spring/SpringGameCommandRegistry.class | Bin 0 -> 4025 bytes .../spring/module/PlayerModuleRegistry.class | Bin 0 -> 5046 bytes .../compile/default-compile/createdFiles.lst | 17 + .../compile/default-compile/inputFiles.lst | 17 + CrossModule/README.md | 101 ++ CrossModule/pom.xml | 55 + .../huangzj/cross/CrossModuleApplication.java | 18 + .../cross/cmd/CrossForwardCommand.java | 26 + .../cross/cmd/CrossGameCommandRegistry.java | 18 + .../cross/cmd/CrossLinkHeartbeatCommand.java | 26 + .../cross/cmd/CrossLinkRegisterCommand.java | 44 + .../config/CrossLinkAcceptProperties.java | 17 + .../cross/config/CrossTcpProperties.java | 17 + .../cross/net/CrossTcpChannelInitializer.java | 29 + .../com/huangzj/cross/net/CrossTcpServer.java | 95 ++ .../src/main/resources/application-dev.yml | 10 + .../src/main/resources/application-prod.yml | 10 + .../src/main/resources/application.yml | 5 + .../src/main/resources/logback-spring.xml | 58 + .../target/classes/application-dev.yml | 10 + .../target/classes/application-prod.yml | 10 + CrossModule/target/classes/application.yml | 5 + .../cross/CrossModuleApplication.class | Bin 0 -> 900 bytes .../cross/cmd/CrossForwardCommand.class | Bin 0 -> 2375 bytes .../cross/cmd/CrossGameCommandRegistry.class | Bin 0 -> 818 bytes .../cross/cmd/CrossLinkHeartbeatCommand.class | Bin 0 -> 1941 bytes .../cross/cmd/CrossLinkRegisterCommand.class | Bin 0 -> 3019 bytes .../config/CrossLinkAcceptProperties.class | Bin 0 -> 808 bytes .../cross/config/CrossTcpProperties.class | Bin 0 -> 692 bytes .../net/CrossTcpChannelInitializer.class | Bin 0 -> 2023 bytes .../huangzj/cross/net/CrossTcpServer.class | Bin 0 -> 4512 bytes CrossModule/target/classes/logback-spring.xml | 58 + .../compile/default-compile/createdFiles.lst | 7 + .../compile/default-compile/inputFiles.lst | 6 + ProtoBufModule/README.md | 84 ++ ProtoBufModule/genpb.bat | 21 + ProtoBufModule/pom.xml | 72 + .../main/protobuf/serverProto/cmd_rpc.proto | 93 ++ .../protobuf/serverProto/pb_service.proto | 14 + .../classes/CrossProto/cross_link.proto | 17 + .../com/huangzj/cmd/gen/CmdEchoCts$1.class | Bin 0 -> 2352 bytes .../huangzj/cmd/gen/CmdEchoCts$Builder.class | Bin 0 -> 13504 bytes .../com/huangzj/cmd/gen/CmdEchoCts.class | Bin 0 -> 10699 bytes .../huangzj/cmd/gen/CmdEchoCtsOrBuilder.class | Bin 0 -> 284 bytes .../com/huangzj/cmd/gen/CmdEchoStc$1.class | Bin 0 -> 2352 bytes .../huangzj/cmd/gen/CmdEchoStc$Builder.class | Bin 0 -> 14059 bytes .../com/huangzj/cmd/gen/CmdEchoStc.class | Bin 0 -> 11189 bytes .../huangzj/cmd/gen/CmdEchoStcOrBuilder.class | Bin 0 -> 316 bytes .../classes/com/huangzj/cmd/gen/CmdRpc.class | Bin 0 -> 5296 bytes .../huangzj/cmd/gen/CmdRpcEnvelope$1.class | Bin 0 -> 2396 bytes .../cmd/gen/CmdRpcEnvelope$Builder.class | Bin 0 -> 14765 bytes .../com/huangzj/cmd/gen/CmdRpcEnvelope.class | Bin 0 -> 11456 bytes .../cmd/gen/CmdRpcEnvelopeOrBuilder.class | Bin 0 -> 343 bytes .../huangzj/cmd/gen/CrossForwardCts$1.class | Bin 0 -> 2407 bytes .../cmd/gen/CrossForwardCts$Builder.class | Bin 0 -> 13630 bytes .../com/huangzj/cmd/gen/CrossForwardCts.class | Bin 0 -> 10833 bytes .../cmd/gen/CrossForwardCtsOrBuilder.class | Bin 0 -> 296 bytes .../huangzj/cmd/gen/CrossForwardStc$1.class | Bin 0 -> 2407 bytes .../cmd/gen/CrossForwardStc$Builder.class | Bin 0 -> 14186 bytes .../com/huangzj/cmd/gen/CrossForwardStc.class | Bin 0 -> 11320 bytes .../cmd/gen/CrossForwardStcOrBuilder.class | Bin 0 -> 327 bytes .../cmd/gen/CrossLinkHeartbeatCts$1.class | Bin 0 -> 2473 bytes .../gen/CrossLinkHeartbeatCts$Builder.class | Bin 0 -> 12807 bytes .../cmd/gen/CrossLinkHeartbeatCts.class | Bin 0 -> 10279 bytes .../gen/CrossLinkHeartbeatCtsOrBuilder.class | Bin 0 -> 237 bytes .../cmd/gen/CrossLinkHeartbeatStc$1.class | Bin 0 -> 2473 bytes .../gen/CrossLinkHeartbeatStc$Builder.class | Bin 0 -> 13280 bytes .../cmd/gen/CrossLinkHeartbeatStc.class | Bin 0 -> 10587 bytes .../gen/CrossLinkHeartbeatStcOrBuilder.class | Bin 0 -> 262 bytes .../cmd/gen/CrossLinkRegisterCts$1.class | Bin 0 -> 2462 bytes .../gen/CrossLinkRegisterCts$Builder.class | Bin 0 -> 14721 bytes .../cmd/gen/CrossLinkRegisterCts.class | Bin 0 -> 11611 bytes .../gen/CrossLinkRegisterCtsOrBuilder.class | Bin 0 -> 355 bytes .../cmd/gen/CrossLinkRegisterStc$1.class | Bin 0 -> 2462 bytes .../gen/CrossLinkRegisterStc$Builder.class | Bin 0 -> 14274 bytes .../cmd/gen/CrossLinkRegisterStc.class | Bin 0 -> 11423 bytes .../gen/CrossLinkRegisterStcOrBuilder.class | Bin 0 -> 332 bytes .../com/huangzj/cmd/gen/CrossProxyCts$1.class | Bin 0 -> 2385 bytes .../cmd/gen/CrossProxyCts$Builder.class | Bin 0 -> 13582 bytes .../com/huangzj/cmd/gen/CrossProxyCts.class | Bin 0 -> 10781 bytes .../cmd/gen/CrossProxyCtsOrBuilder.class | Bin 0 -> 292 bytes .../com/huangzj/cmd/gen/CrossProxyStc$1.class | Bin 0 -> 2385 bytes .../cmd/gen/CrossProxyStc$Builder.class | Bin 0 -> 15119 bytes .../com/huangzj/cmd/gen/CrossProxyStc.class | Bin 0 -> 11924 bytes .../cmd/gen/CrossProxyStcOrBuilder.class | Bin 0 -> 376 bytes .../com/huangzj/cmd/gen/PbService$1.class | Bin 0 -> 1012 bytes .../com/huangzj/cmd/gen/PbService.class | Bin 0 -> 4436 bytes .../huangzj/cmd/gen/PbServiceOuterClass.class | Bin 0 -> 1534 bytes .../huangzj/cmd/gen/Service1_Method$1.class | Bin 0 -> 1048 bytes .../com/huangzj/cmd/gen/Service1_Method.class | Bin 0 -> 4169 bytes .../huangzj/cmd/gen/Service2_Method$1.class | Bin 0 -> 1048 bytes .../com/huangzj/cmd/gen/Service2_Method.class | Bin 0 -> 4169 bytes .../huangzj/cmd/gen/Service3_Method$1.class | Bin 0 -> 1048 bytes .../com/huangzj/cmd/gen/Service3_Method.class | Bin 0 -> 4169 bytes .../huangzj/cmd/gen/Service4_Method$1.class | Bin 0 -> 1048 bytes .../com/huangzj/cmd/gen/Service4_Method.class | Bin 0 -> 4276 bytes .../target/classes/serverProto/cmd_rpc.proto | 93 ++ .../target/classes/serverProto/echo.proto | 16 + .../classes/serverProto/pb_service.proto | 14 + .../java/com/huangzj/cmd/gen/CmdEchoCts.java | 542 ++++++++ .../huangzj/cmd/gen/CmdEchoCtsOrBuilder.java | 22 + .../java/com/huangzj/cmd/gen/CmdEchoStc.java | 609 +++++++++ .../huangzj/cmd/gen/CmdEchoStcOrBuilder.java | 28 + .../java/com/huangzj/cmd/gen/CmdRpc.java | 181 +++ .../com/huangzj/cmd/gen/CmdRpcEnvelope.java | 753 ++++++++++ .../cmd/gen/CmdRpcEnvelopeOrBuilder.java | 44 + .../com/huangzj/cmd/gen/CrossForwardCts.java | 542 ++++++++ .../cmd/gen/CrossForwardCtsOrBuilder.java | 22 + .../com/huangzj/cmd/gen/CrossForwardStc.java | 609 +++++++++ .../cmd/gen/CrossForwardStcOrBuilder.java | 28 + .../cmd/gen/CrossLinkHeartbeatCts.java | 473 +++++++ .../gen/CrossLinkHeartbeatCtsOrBuilder.java | 16 + .../cmd/gen/CrossLinkHeartbeatStc.java | 540 ++++++++ .../gen/CrossLinkHeartbeatStcOrBuilder.java | 22 + .../huangzj/cmd/gen/CrossLinkRegisterCts.java | 678 +++++++++ .../gen/CrossLinkRegisterCtsOrBuilder.java | 34 + .../huangzj/cmd/gen/CrossLinkRegisterStc.java | 609 +++++++++ .../gen/CrossLinkRegisterStcOrBuilder.java | 28 + .../com/huangzj/cmd/gen/CrossProxyCts.java | 542 ++++++++ .../cmd/gen/CrossProxyCtsOrBuilder.java | 22 + .../com/huangzj/cmd/gen/CrossProxyStc.java | 773 +++++++++++ .../cmd/gen/CrossProxyStcOrBuilder.java | 48 + .../java/com/huangzj/cmd/gen/PbService.java | 141 ++ .../huangzj/cmd/gen/PbServiceOuterClass.java | 39 + .../com/huangzj/cmd/gen/Service1_Method.java | 114 ++ .../com/huangzj/cmd/gen/Service2_Method.java | 114 ++ .../com/huangzj/cmd/gen/Service3_Method.java | 114 ++ .../com/huangzj/cmd/gen/Service4_Method.java | 127 ++ .../compile/default-compile/createdFiles.lst | 55 + .../compile/default-compile/inputFiles.lst | 29 + .../google/protobuf/any.proto | 162 +++ .../google/protobuf/api.proto | 207 +++ .../google/protobuf/descriptor.proto | 1218 +++++++++++++++++ .../google/protobuf/duration.proto | 115 ++ .../google/protobuf/empty.proto | 51 + .../google/protobuf/field_mask.proto | 245 ++++ .../google/protobuf/source_context.proto | 48 + .../google/protobuf/struct.proto | 95 ++ .../google/protobuf/timestamp.proto | 144 ++ .../google/protobuf/type.proto | 193 +++ .../google/protobuf/wrappers.proto | 123 ++ .../protoc-3.25.3-windows-x86_64.exe | Bin 0 -> 11554627 bytes README.md | 82 ++ ServerModule/README.md | 115 ++ ServerModule/pom.xml | 63 + .../comm/crosslink/CrossLinkProperties.java | 26 + .../crosslink/CrossServerInboundHandler.java | 52 + .../comm/crosslink/CrossTcpClient.java | 266 ++++ .../comm/crosslink/CrossTcpHeartbeatTask.java | 22 + .../server/ServerModuleApplication.java | 20 + .../server/cmd/ServerCommandRegistry.java | 16 + .../cmd/cmds/TcpPath1LocalEchoCommand.java | 24 + .../cmds/TcpPath2CrossThenServerCommand.java | 50 + .../cmd/cmds/TcpPath3CrossRelayCommand.java | 47 + .../huangzj/server/config/AppProperties.java | 43 + .../server/config/ClientTcpProperties.java | 14 + .../com/huangzj/server/demo/TcpPathsDemo.java | 96 ++ .../huangzj/server/event/AppDomainEvent.java | 22 + .../server/event/DemoEventListener.java | 35 + .../huangzj/server/module/DemoAuxModule.java | 39 + .../huangzj/server/module/DemoPlayerHost.java | 14 + .../server/module/DemoPlayerHostBean.java | 14 + .../server/module/ModuleTickScheduler.java | 24 + .../server/module/SamplePlayerModule.java | 54 + .../server/mongo/DemoMongoService.java | 54 + .../huangzj/server/mongo/DemoPayloadDoc.java | 18 + .../net/ClientTcpChannelInitializer.java | 35 + .../huangzj/server/net/ClientTcpServer.java | 94 ++ .../com/huangzj/server/redis/RedisUtil.java | 609 +++++++++ .../server/web/ClientTcpConfigController.java | 25 + .../huangzj/server/web/DemoApiController.java | 96 ++ .../huangzj/server/web/PingController.java | 18 + .../src/main/resources/application-dev.yml | 30 + .../src/main/resources/application-prod.yml | 28 + .../src/main/resources/application.yml | 17 + .../src/main/resources/logback-spring.xml | 58 + .../src/main/resources/static/index.html | 174 +++ .../target/classes/application-dev.yml | 30 + .../target/classes/application-prod.yml | 28 + ServerModule/target/classes/application.yml | 17 + .../comm/crosslink/CrossLinkProperties.class | Bin 0 -> 1628 bytes .../crosslink/CrossServerInboundHandler.class | Bin 0 -> 2828 bytes .../comm/crosslink/CrossTcpClient$1.class | Bin 0 -> 1726 bytes .../comm/crosslink/CrossTcpClient.class | Bin 0 -> 12467 bytes .../crosslink/CrossTcpHeartbeatTask.class | Bin 0 -> 886 bytes .../server/ServerModuleApplication.class | Bin 0 -> 972 bytes .../server/cmd/ServerCommandRegistry.class | Bin 0 -> 872 bytes .../cmd/cmds/TcpPath1LocalEchoCommand.class | Bin 0 -> 1907 bytes .../cmds/TcpPath2CrossThenServerCommand.class | Bin 0 -> 4252 bytes .../cmd/cmds/TcpPath3CrossRelayCommand.class | Bin 0 -> 2373 bytes .../server/config/AppProperties$Module.class | Bin 0 -> 890 bytes .../server/config/AppProperties$Mongo.class | Bin 0 -> 725 bytes .../server/config/AppProperties$Save.class | Bin 0 -> 671 bytes .../huangzj/server/config/AppProperties.class | Bin 0 -> 1360 bytes .../server/config/ClientTcpProperties.class | Bin 0 -> 703 bytes .../huangzj/server/demo/TcpPathsDemo.class | Bin 0 -> 5926 bytes .../huangzj/server/event/AppDomainEvent.class | Bin 0 -> 782 bytes .../server/event/DemoEventListener.class | Bin 0 -> 1336 bytes .../huangzj/server/module/DemoAuxModule.class | Bin 0 -> 1909 bytes .../server/module/DemoPlayerHost.class | Bin 0 -> 485 bytes .../server/module/DemoPlayerHostBean.class | Bin 0 -> 1069 bytes .../server/module/ModuleTickScheduler.class | Bin 0 -> 982 bytes .../server/module/SamplePlayerModule.class | Bin 0 -> 3038 bytes .../server/mongo/DemoMongoService.class | Bin 0 -> 3863 bytes .../huangzj/server/mongo/DemoPayloadDoc.class | Bin 0 -> 2657 bytes .../net/ClientTcpChannelInitializer.class | Bin 0 -> 2168 bytes .../huangzj/server/net/ClientTcpServer.class | Bin 0 -> 4533 bytes .../com/huangzj/server/redis/RedisUtil.class | Bin 0 -> 25647 bytes .../web/ClientTcpConfigController.class | Bin 0 -> 1432 bytes .../web/DemoApiController$EventPubBody.class | Bin 0 -> 1758 bytes .../web/DemoApiController$RedisKv.class | Bin 0 -> 1726 bytes .../server/web/DemoApiController.class | Bin 0 -> 5763 bytes .../web/PingController$PingPayload.class | Bin 0 -> 1706 bytes .../huangzj/server/web/PingController.class | Bin 0 -> 912 bytes .../target/classes/logback-spring.xml | 58 + ServerModule/target/classes/static/index.html | 174 +++ .../compile/default-compile/createdFiles.lst | 44 + .../compile/default-compile/inputFiles.lst | 36 + pom.xml | 48 + 274 files changed, 15704 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/dataSources.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 BaseModule/README.md create mode 100644 BaseModule/pom.xml create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/AbstractTypedPbCommand.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/Cmd.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcChannelDispatch.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcDispatch.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/CommandContext.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/CommandSource.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/CrossRpcInvoker.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/GameCommand.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/GameCommandLookup.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/ProtoCommandReflect.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/ProtoInfo.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistry.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/cmd/TypedPbCommandReflect.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/frame/LengthPrefixedProtobuf.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/frame/NettyBufUtil.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/module/AbsHostModule.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/module/GeneralModule.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/module/ModuleMetricsProvider.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/module/PlayerModule.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/net/CmdRpcTcpFrameHandler.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/spring/SpringGameCommandRegistry.java create mode 100644 BaseModule/src/main/java/com/huangzj/base/spring/module/PlayerModuleRegistry.java create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/AbstractTypedPbCommand.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/Cmd.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/CmdRpcChannelDispatch.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/CmdRpcDispatch.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/CommandContext.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/CommandSource.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/CrossRpcInvoker.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/GameCommand.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/GameCommandLookup.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/ProtoCommandReflect.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/ProtoInfo.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistry.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/TypedPbCommandReflect$CtsStc.class create mode 100644 BaseModule/target/classes/com/huangzj/base/cmd/TypedPbCommandReflect.class create mode 100644 BaseModule/target/classes/com/huangzj/base/frame/LengthPrefixedProtobuf.class create mode 100644 BaseModule/target/classes/com/huangzj/base/frame/NettyBufUtil.class create mode 100644 BaseModule/target/classes/com/huangzj/base/module/AbsHostModule.class create mode 100644 BaseModule/target/classes/com/huangzj/base/module/GeneralModule.class create mode 100644 BaseModule/target/classes/com/huangzj/base/module/ModuleMetricsProvider.class create mode 100644 BaseModule/target/classes/com/huangzj/base/module/PlayerModule.class create mode 100644 BaseModule/target/classes/com/huangzj/base/net/CmdRpcTcpFrameHandler.class create mode 100644 BaseModule/target/classes/com/huangzj/base/spring/SpringGameCommandRegistry.class create mode 100644 BaseModule/target/classes/com/huangzj/base/spring/module/PlayerModuleRegistry.class create mode 100644 BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 CrossModule/README.md create mode 100644 CrossModule/pom.xml create mode 100644 CrossModule/src/main/java/com/huangzj/cross/CrossModuleApplication.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/cmd/CrossForwardCommand.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/cmd/CrossGameCommandRegistry.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkRegisterCommand.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/config/CrossLinkAcceptProperties.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/config/CrossTcpProperties.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpChannelInitializer.java create mode 100644 CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpServer.java create mode 100644 CrossModule/src/main/resources/application-dev.yml create mode 100644 CrossModule/src/main/resources/application-prod.yml create mode 100644 CrossModule/src/main/resources/application.yml create mode 100644 CrossModule/src/main/resources/logback-spring.xml create mode 100644 CrossModule/target/classes/application-dev.yml create mode 100644 CrossModule/target/classes/application-prod.yml create mode 100644 CrossModule/target/classes/application.yml create mode 100644 CrossModule/target/classes/com/huangzj/cross/CrossModuleApplication.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/cmd/CrossForwardCommand.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/cmd/CrossGameCommandRegistry.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkRegisterCommand.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/config/CrossLinkAcceptProperties.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/config/CrossTcpProperties.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/net/CrossTcpChannelInitializer.class create mode 100644 CrossModule/target/classes/com/huangzj/cross/net/CrossTcpServer.class create mode 100644 CrossModule/target/classes/logback-spring.xml create mode 100644 CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 ProtoBufModule/README.md create mode 100644 ProtoBufModule/genpb.bat create mode 100644 ProtoBufModule/pom.xml create mode 100644 ProtoBufModule/src/main/protobuf/serverProto/cmd_rpc.proto create mode 100644 ProtoBufModule/src/main/protobuf/serverProto/pb_service.proto create mode 100644 ProtoBufModule/target/classes/CrossProto/cross_link.proto create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCts$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCts$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCts.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStcOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCtsOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCtsOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStc$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStc$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$Builder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbServiceOuterClass.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service1_Method$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service1_Method.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service2_Method$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service2_Method.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service3_Method$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service3_Method.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service4_Method$1.class create mode 100644 ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service4_Method.class create mode 100644 ProtoBufModule/target/classes/serverProto/cmd_rpc.proto create mode 100644 ProtoBufModule/target/classes/serverProto/echo.proto create mode 100644 ProtoBufModule/target/classes/serverProto/pb_service.proto create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoCts.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStcOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelope.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCts.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCtsOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCts.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCts.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCtsOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCts.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStc.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbService.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbServiceOuterClass.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service1_Method.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service2_Method.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service3_Method.java create mode 100644 ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service4_Method.java create mode 100644 ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/any.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/api.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/descriptor.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/duration.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/empty.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/field_mask.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/source_context.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/struct.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/timestamp.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/type.proto create mode 100644 ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/wrappers.proto create mode 100644 ProtoBufModule/target/protoc-plugins/protoc-3.25.3-windows-x86_64.exe create mode 100644 README.md create mode 100644 ServerModule/README.md create mode 100644 ServerModule/pom.xml create mode 100644 ServerModule/src/main/java/com/huangzj/comm/crosslink/CrossLinkProperties.java create mode 100644 ServerModule/src/main/java/com/huangzj/comm/crosslink/CrossServerInboundHandler.java create mode 100644 ServerModule/src/main/java/com/huangzj/comm/crosslink/CrossTcpClient.java create mode 100644 ServerModule/src/main/java/com/huangzj/comm/crosslink/CrossTcpHeartbeatTask.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/ServerModuleApplication.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/cmd/ServerCommandRegistry.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/cmd/cmds/TcpPath1LocalEchoCommand.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/cmd/cmds/TcpPath2CrossThenServerCommand.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/cmd/cmds/TcpPath3CrossRelayCommand.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/config/AppProperties.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/config/ClientTcpProperties.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/demo/TcpPathsDemo.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/event/AppDomainEvent.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/event/DemoEventListener.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/module/DemoAuxModule.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/module/DemoPlayerHost.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/module/DemoPlayerHostBean.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/module/ModuleTickScheduler.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/module/SamplePlayerModule.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/mongo/DemoMongoService.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/mongo/DemoPayloadDoc.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/net/ClientTcpChannelInitializer.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/net/ClientTcpServer.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/redis/RedisUtil.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/web/ClientTcpConfigController.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/web/DemoApiController.java create mode 100644 ServerModule/src/main/java/com/huangzj/server/web/PingController.java create mode 100644 ServerModule/src/main/resources/application-dev.yml create mode 100644 ServerModule/src/main/resources/application-prod.yml create mode 100644 ServerModule/src/main/resources/application.yml create mode 100644 ServerModule/src/main/resources/logback-spring.xml create mode 100644 ServerModule/src/main/resources/static/index.html create mode 100644 ServerModule/target/classes/application-dev.yml create mode 100644 ServerModule/target/classes/application-prod.yml create mode 100644 ServerModule/target/classes/application.yml create mode 100644 ServerModule/target/classes/com/huangzj/comm/crosslink/CrossLinkProperties.class create mode 100644 ServerModule/target/classes/com/huangzj/comm/crosslink/CrossServerInboundHandler.class create mode 100644 ServerModule/target/classes/com/huangzj/comm/crosslink/CrossTcpClient$1.class create mode 100644 ServerModule/target/classes/com/huangzj/comm/crosslink/CrossTcpClient.class create mode 100644 ServerModule/target/classes/com/huangzj/comm/crosslink/CrossTcpHeartbeatTask.class create mode 100644 ServerModule/target/classes/com/huangzj/server/ServerModuleApplication.class create mode 100644 ServerModule/target/classes/com/huangzj/server/cmd/ServerCommandRegistry.class create mode 100644 ServerModule/target/classes/com/huangzj/server/cmd/cmds/TcpPath1LocalEchoCommand.class create mode 100644 ServerModule/target/classes/com/huangzj/server/cmd/cmds/TcpPath2CrossThenServerCommand.class create mode 100644 ServerModule/target/classes/com/huangzj/server/cmd/cmds/TcpPath3CrossRelayCommand.class create mode 100644 ServerModule/target/classes/com/huangzj/server/config/AppProperties$Module.class create mode 100644 ServerModule/target/classes/com/huangzj/server/config/AppProperties$Mongo.class create mode 100644 ServerModule/target/classes/com/huangzj/server/config/AppProperties$Save.class create mode 100644 ServerModule/target/classes/com/huangzj/server/config/AppProperties.class create mode 100644 ServerModule/target/classes/com/huangzj/server/config/ClientTcpProperties.class create mode 100644 ServerModule/target/classes/com/huangzj/server/demo/TcpPathsDemo.class create mode 100644 ServerModule/target/classes/com/huangzj/server/event/AppDomainEvent.class create mode 100644 ServerModule/target/classes/com/huangzj/server/event/DemoEventListener.class create mode 100644 ServerModule/target/classes/com/huangzj/server/module/DemoAuxModule.class create mode 100644 ServerModule/target/classes/com/huangzj/server/module/DemoPlayerHost.class create mode 100644 ServerModule/target/classes/com/huangzj/server/module/DemoPlayerHostBean.class create mode 100644 ServerModule/target/classes/com/huangzj/server/module/ModuleTickScheduler.class create mode 100644 ServerModule/target/classes/com/huangzj/server/module/SamplePlayerModule.class create mode 100644 ServerModule/target/classes/com/huangzj/server/mongo/DemoMongoService.class create mode 100644 ServerModule/target/classes/com/huangzj/server/mongo/DemoPayloadDoc.class create mode 100644 ServerModule/target/classes/com/huangzj/server/net/ClientTcpChannelInitializer.class create mode 100644 ServerModule/target/classes/com/huangzj/server/net/ClientTcpServer.class create mode 100644 ServerModule/target/classes/com/huangzj/server/redis/RedisUtil.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/ClientTcpConfigController.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/DemoApiController$EventPubBody.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/DemoApiController$RedisKv.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/DemoApiController.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/PingController$PingPayload.class create mode 100644 ServerModule/target/classes/com/huangzj/server/web/PingController.class create mode 100644 ServerModule/target/classes/logback-spring.xml create mode 100644 ServerModule/target/classes/static/index.html create mode 100644 ServerModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 ServerModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..333c1e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +logs/ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..2ff4fa2 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..bd31594 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,18 @@ + + + + + mongo + true + true + com.dbschema.MongoJdbcDriver + mongodb://43.155.238.153:27017/test + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..ebffee3 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..2fea40e --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d917c34 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BaseModule/README.md b/BaseModule/README.md new file mode 100644 index 0000000..8b159d6 --- /dev/null +++ b/BaseModule/README.md @@ -0,0 +1,107 @@ +# BaseModule + +**公共运行时库**:被 `ServerModule` 与 `CrossModule` 依赖。包含 **Netty TCP 帧编解码**、**CmdRpc 分发管线**、**Proto 元数据注册表**、**Spring 命令扫描** 以及与跨服调用相关的 **`CrossRpcInvoker` 接口**。 + +本模块 **不是** 可执行 Spring Boot 应用;随区服或跨服进程一起加载。 + +## 网络分层(逻辑) + +```mermaid +flowchart TB + subgraph TCP["TCP 字节流"] + F["一帧: 4B length + body"] + end + subgraph Net["BaseModule / net & frame"] + D["LengthPrefixedProtobuf 解码"] + H["CmdRpcTcpFrameHandler"] + end + subgraph Cmd["BaseModule / cmd"] + CD["CmdRpcChannelDispatch"] + PR["ProtoRegistry → ProtoInfo"] + PC["ProtoCommandReflect 解析 CTS / newBuilder STC"] + DP["CmdRpcDispatch → GameCommand"] + end + F --> D --> H --> CD + CD --> PR + CD --> PC + CD --> DP +``` + +## 1. 帧格式:`LengthPrefixedProtobuf` + +- **编码**:`LengthPrefixedProtobuf.encodeMessage(alloc, CmdRpcEnvelope)` — 先写 **大端 int32 长度**,再写 `CmdRpcEnvelope.toByteArray()`。 +- **解码**:`newTcpFrameDecoder()` 返回 Netty 解码器,攒满一帧后向 pipeline 下游抛出 **一条 ByteBuf(仅 body)**。 + +这样 **区服客户端 TCP** 与 **跨服 TCP** 与 **区服连跨服的 Outbound** 三者 **帧格式一致**,仅 IP/端口与 `CommandSource` 不同。 + +## 2. 入站处理:`CmdRpcTcpFrameHandler` + +- 读取一帧 `byte[]`,调用 **`CmdRpcChannelDispatch.dispatch(...)`**。 +- 将返回的 **`CmdRpcEnvelope`** 再次 **长度前缀编码** 写回对端。 +- `linkSource` 由构造时注入:`Client_TCP`(区服接客户端)或 `CROSS_TCP`(跨服接入站)。 + +**注意**:默认在 **Netty IO 线程** 上执行命令;若 `roundTrip` 同步调跨服会阻塞该连接上的 IO,Demo 场景可接受,生产需评估线程模型。 + +## 3. 分发核心:`CmdRpcChannelDispatch` + +步骤简述: + +1. `CmdRpcEnvelope.parseFrom(raw)`。 +2. `protoRegistry.resolve(linkSource, serviceId, methodId)` → 可选的 **`ProtoInfo`**。 +3. 若存在 `ProtoInfo`:**解析 payload 为 CTS**、**创建 STC 的 `Builder`**(网络层职责,命令内只填字段)。 +4. 构造 **`CommandContext`**(含 `ChannelHandlerContext`、`CrossRpcInvoker`、解码结果等)。 +5. **`CmdRpcDispatch.dispatchEnvelope(in, lookup, cctx)`** → 执行具体 **`GameCommand`**。 + +```mermaid +flowchart LR + IN[CmdRpcEnvelope in] + PI{ProtoInfo 存在?} + DEC[解码 CTS + STC Builder] + RAW[decoded=null 由命令自处理] + EXE[GameCommand.execute] + OUT[CmdRpcEnvelope out] + IN --> PI + PI -->|是| DEC --> EXE + PI -->|否| RAW --> EXE + EXE --> OUT +``` + +## 4. 命令模型 + +| 类型 | 说明 | +|------|------| +| `GameCommand` | `execute(CommandContext, CmdRpcEnvelope)`,完全自控 payload。 | +| `AbstractTypedPbCommand` | 依赖 `ProtoInfo`;`run(ctx, cts, stcBuilder)`;回包信封 **复制** `service/method/cross_ret/link_seq`。 | + +### `CommandSource` 与注册 + +- `@Cmd(source, serviceId, methodId)` 标注在命令类上。 +- **`SpringGameCommandRegistry`**:按 Spring 容器里 `GameCommand` Bean 扫描,**只收录** `source` 属于当前进程配置集合的命令(区服只收 `Client_TCP`,跨服只收 `CROSS_TCP`)。 + +## 5. `ProtoRegistry` 与自动注册 + +- **`ProtoRegistry`**:`register(ProtoInfo)` / `resolve(source, serviceId, methodId)`。 +- **`ProtoRegistryAutoConfigurer`**(`SmartInitializingSingleton`):扫描带 `@Cmd` 的 `GameCommand`,若继承 **`AbstractTypedPbCommand`**,则从泛型推断 **CTS / STC 类型** 并注册 **`ProtoInfo`**。 +- **未** 继承强类型基类的命令(如路径 3 中继)**不注册** `ProtoInfo`,由命令自行处理 payload。 + +## 6. `CrossRpcInvoker` + +- 接口方法:`CmdRpcEnvelope roundTrip(CmdRpcEnvelope request)`。 +- **ServerModule** 中由 **`CrossTcpClient`** 实现:维护至跨服的 **长连接**、`link_seq` 多路复用、注册与心跳。 + +区服业务命令(路径 2/3)通过 **`CommandContext.crossRpc()`** 拿到该实例,向跨服发 **`CrossForward*`** 对应的信封。 + +## 7. 依赖说明 + +- **Spring Context**(`@Component` 等)、**Netty**、**protobuf-java**、**slf4j-api**、**Lombok**(可选)。 +- 生成的 proto Java 类来自 **ProtoBufModule**。 + +## 包结构(主要) + +```text +com.huangzj.base +├── cmd # 分发、上下文、注册表、Proto 反射、CrossRpcInvoker +├── frame # 长度前缀、Buf 工具 +├── net # CmdRpcTcpFrameHandler +└── spring # SpringGameCommandRegistry、其它 Spring 辅助 +``` diff --git a/BaseModule/pom.xml b/BaseModule/pom.xml new file mode 100644 index 0000000..7c1ea1d --- /dev/null +++ b/BaseModule/pom.xml @@ -0,0 +1,51 @@ + + + 4.0.0 + + + huangzj + comm-framework + 0.0.1-SNAPSHOT + ../pom.xml + + + BaseModule + jar + BaseModule + + + + huangzj + ProtoBufModule + ${project.version} + + + io.netty + netty-buffer + + + io.netty + netty-codec + + + com.google.protobuf + protobuf-java + ${protobuf.version} + + + org.springframework + spring-context + + + org.slf4j + slf4j-api + + + org.projectlombok + lombok + true + + + diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/AbstractTypedPbCommand.java b/BaseModule/src/main/java/com/huangzj/base/cmd/AbstractTypedPbCommand.java new file mode 100644 index 0000000..f8fa95e --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/AbstractTypedPbCommand.java @@ -0,0 +1,37 @@ +package com.huangzj.base.cmd; + +import com.huangzj.cmd.gen.CmdRpcEnvelope; +import com.google.protobuf.Message; +import org.springframework.util.ClassUtils; + +/** + * 强类型 PB 命令:CTS/STC 由 {@link ProtoRegistryAutoConfigurer} 根据本类泛型与 {@link Cmd} 自动注册为 + * {@link ProtoInfo};网络层解析请求并创建 {@link CommandContext#responseBuilder()},子类只实现 {@link #run}。 + */ +public abstract class AbstractTypedPbCommand implements GameCommand { + + @Override + public CmdRpcEnvelope execute(CommandContext ctx, CmdRpcEnvelope request) throws Exception { + if (ctx.protoInfo() == null || ctx.decodedRequest() == null || ctx.responseBuilder() == null) { + throw new IllegalStateException( + "缺少 ProtoInfo 或网络层未解码: " + + ClassUtils.getUserClass(getClass()).getName() + + ",请确认本类带 @Cmd 且继承 AbstractTypedPbCommand 以自动注册 ProtoInfo"); + } + @SuppressWarnings("unchecked") + C cts = (C) ctx.decodedRequest(); + @SuppressWarnings("unchecked") + B stcBuilder = (B) ctx.responseBuilder(); + run(ctx, cts, stcBuilder); + // CmdRpcEnvelope头原样带回:保证请求方(含区服↔跨服 link_seq)能把响应与请求对齐 + return CmdRpcEnvelope.newBuilder() + .setServiceId(request.getServiceId()) + .setMethodId(request.getMethodId()) + .setCrossRet(request.getCrossRet()) + .setLinkSeq(request.getLinkSeq()) + .setPayload(stcBuilder.build().toByteString()) + .build(); + } + + protected abstract void run(CommandContext ctx, C cts, B stcBuilder) throws Exception; +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/Cmd.java b/BaseModule/src/main/java/com/huangzj/base/cmd/Cmd.java new file mode 100644 index 0000000..a78d806 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/Cmd.java @@ -0,0 +1,25 @@ +package com.huangzj.base.cmd; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 标在具体的 {@link GameCommand} 实现上,Spring 扫 Bean 时按来源 + service/method 归组。 + * {@code serviceId} / {@code methodId} 请使用 {@link com.huangzj.cmd.gen.PbService} 与各 {@code ServiceN_Method} + * 生成的 {@code *_VALUE} 常量,勿写裸数字。 + * CTS/STC 在 {@link ProtoRegistry} 中通过 {@link ProtoInfo} 注册,须与本注解一致。 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface Cmd { + + CommandSource source(); + + /** 对应 {@link com.huangzj.cmd.gen.PbService} 的 wire 值,如 {@code PbService.Service_1_VALUE}。 */ + int serviceId(); + + /** 对应具体 {@code ServiceN_Method} 的 wire 值,如 {@code Service1_Method.Method1_VALUE}。 */ + int methodId(); +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcChannelDispatch.java b/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcChannelDispatch.java new file mode 100644 index 0000000..122d59d --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcChannelDispatch.java @@ -0,0 +1,54 @@ +package com.huangzj.base.cmd; + +import com.huangzj.cmd.gen.CmdRpcEnvelope; +import com.google.protobuf.Message; +import io.netty.channel.ChannelHandlerContext; +import lombok.extern.slf4j.Slf4j; + +/** + * Netty 入站:先解析CmdRpcEnvelope,再按 {@link ProtoRegistry} 取 {@link ProtoInfo} 做 CTS 解码与 STC Builder 创建(网络层职责), + * 最后交给 {@link CmdRpcDispatch}。 + */ +@Slf4j +public final class CmdRpcChannelDispatch { + + private CmdRpcChannelDispatch() { + } + + /** + * @param linkSource 当前链路(客户端 TCP / 跨服 TCP),与注册表 {@link ProtoInfo#source()} 一致 + * @param protoRegistry PB 元数据表,在应用启动时完成注册 + */ + public static CmdRpcEnvelope dispatch( + byte[] raw, + GameCommandLookup lookup, + ChannelHandlerContext ctx, + CrossRpcInvoker crossRpc, + CommandSource linkSource, + ProtoRegistry protoRegistry) + throws Exception { + CmdRpcEnvelope in = CmdRpcEnvelope.parseFrom(raw); + // 同一套 service/method,在 Client_TCP 与 CROSS_TCP 可对应不同 ProtoInfo(来源隔离) + ProtoInfo protoInfo = protoRegistry.resolve(linkSource, in.getServiceId(), in.getMethodId()); + if (log.isDebugEnabled()) { + log.debug( + "CmdRpc inbound source={} remote={} service={} method={} protoInfo={}", + linkSource, + ctx.channel().remoteAddress(), + in.getServiceId(), + in.getMethodId(), + protoInfo != null); + } + Message decoded = null; + Message.Builder responseBuilder = null; + if (protoInfo != null) { + // 强类型命令:网络层负责 bytes→CTS、预创建 STC Builder,命令里只填字段 + decoded = ProtoCommandReflect.parser(protoInfo.ctsClass()).parseFrom(in.getPayload()); + responseBuilder = ProtoCommandReflect.builderSupplier(protoInfo.stcClass()).get(); + } + // protoInfo==null 时(如纯中继)由具体 GameCommand 自行解析 payload / 组包 + CommandContext cctx = + new CommandContext(ctx, crossRpc, in.getCrossRet(), protoInfo, decoded, responseBuilder); + return CmdRpcDispatch.dispatchEnvelope(in, lookup, cctx); + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcDispatch.java b/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcDispatch.java new file mode 100644 index 0000000..bcdd94b --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/CmdRpcDispatch.java @@ -0,0 +1,30 @@ +package com.huangzj.base.cmd; + +import com.huangzj.cmd.gen.CmdRpcEnvelope; + +/** + * 解析CmdRpcEnvelope、查表、执行,三步并一行,Netty handler 里少写点重复代码。 + */ +public final class CmdRpcDispatch { + + private CmdRpcDispatch() { + } + + /** + * 从原始字节起跳,适合 TCP 一帧读完再分发。 + */ + public static CmdRpcEnvelope dispatch(byte[] raw, GameCommandLookup lookup, CommandContext ctx) throws Exception { + CmdRpcEnvelope in = CmdRpcEnvelope.parseFrom(raw); + return dispatchEnvelope(in, lookup, ctx); + } + + /** + * 已经 parse 过CmdRpcEnvelope时用,避免重复解析;上下文里的 cross_ret 必须在这之前就算好。 + */ + public static CmdRpcEnvelope dispatchEnvelope(CmdRpcEnvelope in, GameCommandLookup lookup, CommandContext ctx) throws Exception { + // lookup 按「来源已过滤后的表」解析,故同一 service/method 在区服/跨服可绑定不同实现类 + GameCommand cmd = lookup.resolve(in.getServiceId(), in.getMethodId()); + // 异常若直接抛出,由上层 Netty handler 记录并关连接;此处不吞异常 + return cmd.execute(ctx, in); + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/CommandContext.java b/BaseModule/src/main/java/com/huangzj/base/cmd/CommandContext.java new file mode 100644 index 0000000..e0eff95 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/CommandContext.java @@ -0,0 +1,52 @@ +package com.huangzj.base.cmd; + +import com.google.protobuf.Message; +import io.netty.channel.ChannelHandlerContext; +import lombok.Getter; +import lombok.experimental.Accessors; + +/** + * 命令执行上下文:Netty、跨服调用器、CmdRpcEnvelope cross_ret,以及网络层根据 {@link ProtoInfo} 解析好的请求/响应 Builder。 + */ +@Getter +@Accessors(fluent = true) +public class CommandContext { + + private final ChannelHandlerContext channelHandlerContext; + private final CrossRpcInvoker crossRpc; + private final int crossReturnCode; + /** + * 本帧在 {@link ProtoRegistry} 中对应的元数据;未注册强类型协议时为 null。 + */ + private final ProtoInfo protoInfo; + /** + * 网络层已按 {@link ProtoInfo#ctsClass()} 解析出的请求体;无 ProtoInfo 时为 null。 + */ + private final Message decodedRequest; + /** + * 网络层按 {@link ProtoInfo#stcClass()} 创建的 STC Builder,业务填充后组包;无 ProtoInfo 时为 null。 + */ + private final Message.Builder responseBuilder; + + public CommandContext(ChannelHandlerContext channelHandlerContext, CrossRpcInvoker crossRpcInvoker) { + this(channelHandlerContext, crossRpcInvoker, 0, null, null, null); + } + + public CommandContext(ChannelHandlerContext channelHandlerContext, CrossRpcInvoker crossRpcInvoker, int crossReturnCode) { + this(channelHandlerContext, crossRpcInvoker, crossReturnCode, null, null, null); + } + + /** + * @param protoInfo 可为 null + * @param decodedRequest 与 protoInfo 成对;有 protoInfo 时通常非 null + * @param responseBuilder 与 protoInfo 成对;有 protoInfo 时通常非 null + */ + public CommandContext(ChannelHandlerContext channelHandlerContext, CrossRpcInvoker crossRpcInvoker, int crossReturnCode, ProtoInfo protoInfo, Message decodedRequest, Message.Builder responseBuilder) { + this.channelHandlerContext = channelHandlerContext; + this.crossRpc = crossRpcInvoker; + this.crossReturnCode = crossReturnCode; + this.protoInfo = protoInfo; + this.decodedRequest = decodedRequest; + this.responseBuilder = responseBuilder; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/CommandSource.java b/BaseModule/src/main/java/com/huangzj/base/cmd/CommandSource.java new file mode 100644 index 0000000..4081ecb --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/CommandSource.java @@ -0,0 +1,28 @@ +package com.huangzj.base.cmd; + +import lombok.Getter; + +/** + * 命令从哪儿来:区服面向客户端的 TCP、或跨服进程上的 TCP。 + * {@code fromType} 若要与外部协议数字对齐,可直接使用。 + */ +@Getter +public enum CommandSource { + + /** 区服侧面向客户端的那条 Cmd/会话链路(名字历史遗留,别和 OSI 的 TCP 较真)。 */ + Client_TCP(1, "CLIENT_TCP"), + + /** 跨服机器上监听的 CmdRpc TCP。 */ + CROSS_TCP(2, "CROSS_TCP"); + + /** 若要和外部协议数字对齐,用这个。 */ + private final int fromType; + + /** 给人看的短名字,日志里用着方便。 */ + private final String fromTypeName; + + CommandSource(int fromType, String fromTypeName) { + this.fromType = fromType; + this.fromTypeName = fromTypeName; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/CrossRpcInvoker.java b/BaseModule/src/main/java/com/huangzj/base/cmd/CrossRpcInvoker.java new file mode 100644 index 0000000..32dfe73 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/CrossRpcInvoker.java @@ -0,0 +1,14 @@ +package com.huangzj.base.cmd; + +import com.huangzj.cmd.gen.CmdRpcEnvelope; + +/** + * 区服侧想跟跨服聊一句时用的抽象,默认实现是 TCP 同步 roundTrip。 + */ +public interface CrossRpcInvoker { + + /** + * 发一帧过去、等一帧回来;实现里一般是 TCP 同步写读,超时或断线要抛异常。 + */ + CmdRpcEnvelope roundTrip(CmdRpcEnvelope request) throws Exception; +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommand.java b/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommand.java new file mode 100644 index 0000000..fabea46 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommand.java @@ -0,0 +1,15 @@ +package com.huangzj.base.cmd; + +import com.huangzj.cmd.gen.CmdRpcEnvelope; + +/** + * 一条 CmdRpc 业务命令:入参出参都是CmdRpcEnvelope,具体 PB 在实现里自己拆。 + */ +public interface GameCommand { + + /** + * 处理一帧 RPC:request 里带好 service/method/payload,返回完整CmdRpcEnvelope(含 payload)。 + * 具体异常策略由上层 {@code CmdRpcDispatch} 决定是否包进CmdRpcEnvelope或断开连接。 + */ + CmdRpcEnvelope execute(CommandContext ctx, CmdRpcEnvelope request) throws Exception; +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommandLookup.java b/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommandLookup.java new file mode 100644 index 0000000..61e0168 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/GameCommandLookup.java @@ -0,0 +1,9 @@ +package com.huangzj.base.cmd; + +/** + * 根据 serviceId + methodId 捞出一条命令,找不到就抛 IllegalArgumentException。 + */ +public interface GameCommandLookup { + + GameCommand resolve(int serviceId, int methodId); +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoCommandReflect.java b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoCommandReflect.java new file mode 100644 index 0000000..3c57251 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoCommandReflect.java @@ -0,0 +1,60 @@ +package com.huangzj.base.cmd; + +import com.google.protobuf.Message; +import com.google.protobuf.Parser; +import java.lang.reflect.Method; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Supplier; + +/** + * 按 protobuf 生成类做 CTS 解析 / STC Builder 创建(类比原工程 {@code ProtoMgr.decode} / {@code getStcProtoMessageByCtsNo})。 + */ +final class ProtoCommandReflect { + + private static final ConcurrentHashMap, Parser> PARSERS = new ConcurrentHashMap<>(); + private static final ConcurrentHashMap, Supplier> BUILDER_FACTORIES = + new ConcurrentHashMap<>(); + + private ProtoCommandReflect() { + } + + @SuppressWarnings("unchecked") + static Parser parser(Class ctsClass) { + return (Parser) PARSERS.computeIfAbsent(ctsClass, ProtoCommandReflect::loadParser); + } + + @SuppressWarnings("unchecked") + static Supplier builderSupplier(Class stcClass) { + return (Supplier) BUILDER_FACTORIES.computeIfAbsent(stcClass, ProtoCommandReflect::loadBuilderFactory); + } + + private static Parser loadParser(Class msgClass) { + try { + Method m = msgClass.getMethod("parser"); + return (Parser) m.invoke(null); + } catch (ReflectiveOperationException e) { + throw new IllegalStateException( + "CTS 须为 protobuf 生成类且含 public static Parser parser(): " + msgClass.getName(), e); + } + } + + private static Supplier loadBuilderFactory(Class msgClass) { + try { + Method m = msgClass.getMethod("newBuilder"); + Object probe = m.invoke(null); + if (!(probe instanceof Message.Builder)) { + throw new IllegalStateException("newBuilder 未返回 Message.Builder: " + msgClass.getName()); + } + } catch (ReflectiveOperationException e) { + throw new IllegalStateException( + "STC 须为 protobuf 生成类且含 public static Builder newBuilder(): " + msgClass.getName(), e); + } + return () -> { + try { + return (Message.Builder) msgClass.getMethod("newBuilder").invoke(null); + } catch (ReflectiveOperationException e) { + throw new IllegalStateException(e); + } + }; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoInfo.java b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoInfo.java new file mode 100644 index 0000000..a45c70d --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoInfo.java @@ -0,0 +1,14 @@ +package com.huangzj.base.cmd; + +import com.google.protobuf.Message; + +/** + * PB 接口注册时的元数据:与 {@link CommandSource} + service/method 绑定,供网络层取 CTS/STC 类型做解析。 + * (对齐原工程 {@code ProtoInfo + ProtoMgr.getProtoInfoByCode} 思路。) + */ +public record ProtoInfo( + CommandSource source, + int serviceId, + int methodId, + Class ctsClass, + Class stcClass) {} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistry.java b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistry.java new file mode 100644 index 0000000..9da438c --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistry.java @@ -0,0 +1,33 @@ +package com.huangzj.base.cmd; + +import org.springframework.stereotype.Component; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 全局 PB 命令表:按「链路 + service + method」注册 {@link ProtoInfo},网络层只查这里拿类型。 + */ +@Component +public class ProtoRegistry { + + private final ConcurrentHashMap byKey = new ConcurrentHashMap<>(); + + public void register(ProtoInfo info) { + String k = key(info.source(), info.serviceId(), info.methodId()); + ProtoInfo prev = byKey.putIfAbsent(k, info); + if (prev != null) { + throw new IllegalStateException("ProtoInfo 重复注册: " + k + " 已有 " + prev); + } + } + + /** + * 未注册时返回 null(例如纯透传、自定义解析的命令)。 + */ + public ProtoInfo resolve(CommandSource source, int serviceId, int methodId) { + return byKey.get(key(source, serviceId, methodId)); + } + + private static String key(CommandSource source, int serviceId, int methodId) { + return source.name() + ":" + serviceId + ":" + methodId; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.java b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.java new file mode 100644 index 0000000..75b45b6 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.java @@ -0,0 +1,56 @@ +package com.huangzj.base.cmd; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.SmartInitializingSingleton; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Component; +import org.springframework.util.ClassUtils; + +/** + * 启动时扫描所有 {@link GameCommand} Bean:带 {@link Cmd} 且继承 {@link AbstractTypedPbCommand} 的, + * 根据注解中的 source/service/method 与泛型上的 CTS/STC 自动 {@link ProtoRegistry#register}。 + * 未继承强类型基类(如纯透传)的命令不注册,由网络层按无 {@link ProtoInfo} 处理。 + */ +@Slf4j +@Component +public class ProtoRegistryAutoConfigurer implements SmartInitializingSingleton { + + private final ApplicationContext applicationContext; + private final ProtoRegistry protoRegistry; + + public ProtoRegistryAutoConfigurer(ApplicationContext applicationContext, ProtoRegistry protoRegistry) { + this.applicationContext = applicationContext; + this.protoRegistry = protoRegistry; + } + + @Override + public void afterSingletonsInstantiated() { + Map beans = applicationContext.getBeansOfType(GameCommand.class); + AtomicInteger n = new AtomicInteger(); + for (GameCommand bean : beans.values()) { + Class userClass = ClassUtils.getUserClass(bean.getClass()); + Cmd cmd = userClass.getAnnotation(Cmd.class); + if (cmd == null) { + continue; + } + // 仅 AbstractTypedPbCommand 子类可解析泛型;GameCommand 裸实现(如路径3中继)不注册 ProtoInfo + TypedPbCommandReflect.resolveCtsStc(userClass) + .ifPresent(pair -> { + ProtoInfo info = + new ProtoInfo(cmd.source(), cmd.serviceId(), cmd.methodId(), pair.cts(), pair.stc()); + protoRegistry.register(info); + n.incrementAndGet(); + log.info( + "ProtoInfo registered: source={} service={} method={} cts={} stc={}", + cmd.source(), + cmd.serviceId(), + cmd.methodId(), + pair.cts().getSimpleName(), + pair.stc().getSimpleName()); + }); + } + log.info("ProtoRegistry auto-registration done, {} ProtoInfo bean(s)", n.get()); + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/cmd/TypedPbCommandReflect.java b/BaseModule/src/main/java/com/huangzj/base/cmd/TypedPbCommandReflect.java new file mode 100644 index 0000000..85f4255 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/cmd/TypedPbCommandReflect.java @@ -0,0 +1,64 @@ +package com.huangzj.base.cmd; + +import com.google.protobuf.Message; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import org.springframework.util.ClassUtils; + +/** + * 从继承 {@link AbstractTypedPbCommand} 的具体命令类上解析 CTS / STC 消息类型(第二泛参为 {@code Xxx.Builder} 时,STC 取 {@code Xxx})。 + */ +final class TypedPbCommandReflect { + + private TypedPbCommandReflect() {} + + record CtsStc(Class cts, Class stc) {} + + static java.util.Optional resolveCtsStc(Class commandClass) { + Class user = ClassUtils.getUserClass(commandClass); + ParameterizedType pt = findAbstractTypedSuper(user); + if (pt == null) { + // 非 AbstractTypedPbCommand 子类,或泛型在运行期被擦除到无法解析 + return java.util.Optional.empty(); + } + Type[] args = pt.getActualTypeArguments(); + if (args.length < 2) { + return java.util.Optional.empty(); + } + Class ctsClass = rawClass(args[0]); + Class builderOrSecond = rawClass(args[1]); + if (ctsClass == null + || builderOrSecond == null + || !Message.class.isAssignableFrom(ctsClass)) { + return java.util.Optional.empty(); + } + // Java PB 惯例:Message.Builder 为 Message 的静态内部类,外层即 STC 类型 + Class stcClass = builderOrSecond.getDeclaringClass(); + if (stcClass == null || !Message.class.isAssignableFrom(stcClass)) { + return java.util.Optional.empty(); + } + return java.util.Optional.of( + new CtsStc(ctsClass.asSubclass(Message.class), stcClass.asSubclass(Message.class))); + } + + private static ParameterizedType findAbstractTypedSuper(Class c) { + while (c != null && c != Object.class) { + Type t = c.getGenericSuperclass(); + if (t instanceof ParameterizedType p && p.getRawType() == AbstractTypedPbCommand.class) { + return p; + } + c = c.getSuperclass(); + } + return null; + } + + private static Class rawClass(Type t) { + if (t instanceof Class cl) { + return cl; + } + if (t instanceof ParameterizedType p && p.getRawType() instanceof Class cl) { + return cl; + } + return null; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/frame/LengthPrefixedProtobuf.java b/BaseModule/src/main/java/com/huangzj/base/frame/LengthPrefixedProtobuf.java new file mode 100644 index 0000000..c045d94 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/frame/LengthPrefixedProtobuf.java @@ -0,0 +1,32 @@ +package com.huangzj.base.frame; + +import com.google.protobuf.MessageLite; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufAllocator; +import io.netty.handler.codec.LengthFieldBasedFrameDecoder; + +/** + * TCP 上 4 字节长度 + protobuf body 的通用写法,跨服和区服客户端共用。 + */ +public final class LengthPrefixedProtobuf { + + /** 单帧上限,防止恶意大包把内存打爆。 */ + public static final int MAX_FRAME_LENGTH = 65536; + + private LengthPrefixedProtobuf() { + } + + /** 长度字段在开头 4 字节,剥离长度头后剩下纯 PB。 */ + public static LengthFieldBasedFrameDecoder newTcpFrameDecoder() { + return new LengthFieldBasedFrameDecoder(MAX_FRAME_LENGTH, 0, 4, 0, 4); + } + + /** 先发 4 字节小端长度,再发 body,和上面的 decoder 成对使用。 */ + public static ByteBuf encodeMessage(ByteBufAllocator alloc, MessageLite message) { + byte[] body = message.toByteArray(); + ByteBuf buf = alloc.buffer(4 + body.length); + buf.writeInt(body.length); + buf.writeBytes(body); + return buf; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/frame/NettyBufUtil.java b/BaseModule/src/main/java/com/huangzj/base/frame/NettyBufUtil.java new file mode 100644 index 0000000..eecb116 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/frame/NettyBufUtil.java @@ -0,0 +1,20 @@ +package com.huangzj.base.frame; + +import io.netty.buffer.ByteBuf; + +/** + * 把 ByteBuf 里当前可读区间一次性拷成 byte[],handler 里少写两行样板代码。 + */ +public final class NettyBufUtil { + + private NettyBufUtil() { + } + + /** 读指针会跟着动,注意别重复读同一段。 */ + public static byte[] readReadableBytes(ByteBuf buf) { + int n = buf.readableBytes(); + byte[] raw = new byte[n]; + buf.readBytes(raw); + return raw; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/module/AbsHostModule.java b/BaseModule/src/main/java/com/huangzj/base/module/AbsHostModule.java new file mode 100644 index 0000000..1a50d4b --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/module/AbsHostModule.java @@ -0,0 +1,16 @@ +package com.huangzj.base.module; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * 挂在某个宿主(一般是玩家或会话)上的模块基类,手里攥着宿主引用。 + * + * @param

宿主类型,demo 里是 {@link com.huangzj.server.module.DemoPlayerHost} + */ +@Getter +@RequiredArgsConstructor +public abstract class AbsHostModule

{ + + protected final P player; +} diff --git a/BaseModule/src/main/java/com/huangzj/base/module/GeneralModule.java b/BaseModule/src/main/java/com/huangzj/base/module/GeneralModule.java new file mode 100644 index 0000000..e0d3b33 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/module/GeneralModule.java @@ -0,0 +1,121 @@ +package com.huangzj.base.module; + +import lombok.Getter; +import lombok.Setter; + +/** + * 玩家侧逻辑模块的骨架:tick、存档、登录回调都先空着,子类按需填。 + * 和修仙那套 GeneralModule 思路类似,这里做了精简,只保留 demo 要用的钩子。 + */ +@Getter +@Setter +public abstract class GeneralModule

extends AbsHostModule

{ + + /** tick / 存盘时共用的锁,避免和业务线程打架(demo 里只用在 runTick)。 */ + protected final Object saveLockObj = new Object(); + + /** 是否有脏数据要同步,具体怎么用看业务。 */ + protected boolean needSync; + + /** 是否已经进入过登录后流程,占位字段。 */ + protected boolean enterAfterLogin; + + /** 为 true 时才会被 {@link com.huangzj.base.spring.module.PlayerModuleRegistry#runTickAll(long)} 扫到。 */ + private boolean enableTick; + + protected GeneralModule(P player) { + super(player); + } + + /** 标记需要同步,一般配合 syncChange 使用。 */ + public void setNeedSync() { + this.needSync = true; + } + + /** 同步做完了就清掉标记。 */ + public void finishSync() { + this.needSync = false; + } + + /** 当前模块归属的玩家 id,子类必须给出。 */ + public abstract long getPlayerId(); + + /** 拉档,默认 true 表示不用拦。 */ + public boolean loadData() { + return true; + } + + /** 拉档后的二次处理,默认放行。 */ + public boolean afterLoadData() { + return true; + } + + /** 存盘,子类可写 Mongo/Redis;默认啥也不干。 */ + public boolean saveData() { + return true; + } + + /** 把内存改动推到客户端或其它服,force 是否强推由子类解释。 */ + public void syncChange(boolean force) { + } + + /** 模块类型,默认就是具体类。 */ + public Class getModuleClass() { + return getClass(); + } + + /** 登录完成要下发的消息,占位。 */ + public void loginSendMsg(boolean isReconnect) { + } + + /** 登录后逻辑,占位。 */ + public void afterLogin(boolean isReconnect) { + } + + /** 下线清理,占位。 */ + public void offline() { + } + + /** 处理游戏内推送/内部消息,占位。 */ + public void handleGameMsg(Object msg) { + } + + /** 红点刷新,占位。 */ + public void refreshRedPoint() { + } + + /** 跨天/重置类逻辑,占位。 */ + public void dailyResetData() { + } + + /** 打开定时 tick,注册表只会调度 isEnableTick 为 true 的模块。 */ + public void enableTick() { + this.enableTick = true; + } + + /** 若要做精准调度可覆写;默认 0 表示「不承诺下次时间点」。 */ + public long calcNextTickAt() { + return 0L; + } + + /** + * 外层统一包一层锁和异常,真正的周期逻辑写在 {@link #tick(long)}。 + */ + public void runTick(long runAt) { + try { + synchronized (saveLockObj) { + tick(runAt); + } + } catch (Exception e) { + onTickError(e); + } + } + + /** 每个调度周期进来一次,子类写业务。 */ + protected void tick(long runAt) { + } + + /** tick 抛错时的钩子,默认吞掉,需要打日志或告警就覆写。 */ + protected void onTickError(Exception e) { + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/module/ModuleMetricsProvider.java b/BaseModule/src/main/java/com/huangzj/base/module/ModuleMetricsProvider.java new file mode 100644 index 0000000..dc6e4c1 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/module/ModuleMetricsProvider.java @@ -0,0 +1,15 @@ +package com.huangzj.base.module; + +import java.util.Collections; +import java.util.Map; + +/** + * 模块要是愿意暴露点计数器之类的,就实现这个;注册表拼 /module/info 时会 merge 进来。 + */ +public interface ModuleMetricsProvider { + + /** 默认啥指标也没有,子类按需 override。 */ + default Map metrics() { + return Collections.emptyMap(); + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/module/PlayerModule.java b/BaseModule/src/main/java/com/huangzj/base/module/PlayerModule.java new file mode 100644 index 0000000..ca0ac28 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/module/PlayerModule.java @@ -0,0 +1,17 @@ +package com.huangzj.base.module; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 标在 {@link GeneralModule} 上,数字越小越先跑 tick(只是 demo 约定,你可以按习惯改)。 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface PlayerModule { + + /** 排序用,默认 0;相同顺序时不保证谁先谁后。 */ + int order() default 0; +} diff --git a/BaseModule/src/main/java/com/huangzj/base/net/CmdRpcTcpFrameHandler.java b/BaseModule/src/main/java/com/huangzj/base/net/CmdRpcTcpFrameHandler.java new file mode 100644 index 0000000..fde828d --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/net/CmdRpcTcpFrameHandler.java @@ -0,0 +1,48 @@ +package com.huangzj.base.net; + +import com.huangzj.base.cmd.CmdRpcChannelDispatch; +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.base.cmd.CrossRpcInvoker; +import com.huangzj.base.cmd.GameCommandLookup; +import com.huangzj.base.cmd.ProtoRegistry; +import com.huangzj.base.frame.LengthPrefixedProtobuf; +import com.huangzj.base.frame.NettyBufUtil; +import com.huangzj.cmd.gen.CmdRpcEnvelope; +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 长度前缀剥掉后的一帧 = 整包 {@link CmdRpcEnvelope}:查 {@link ProtoRegistry} 解码并分发。 + */ +@Slf4j +@RequiredArgsConstructor +public class CmdRpcTcpFrameHandler extends SimpleChannelInboundHandler { + + private final GameCommandLookup lookup; + private final CrossRpcInvoker crossRpc; + private final CommandSource linkSource; + private final ProtoRegistry protoRegistry; + + @Override + protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception { + byte[] raw = NettyBufUtil.readReadableBytes(msg); + // 解码 + ProtoRegistry + GameCommand 执行在同一线程(默认 IO 线程),业务应避免长时间阻塞 + CmdRpcEnvelope out = + CmdRpcChannelDispatch.dispatch(raw, lookup, ctx, crossRpc, linkSource, protoRegistry); + ctx.writeAndFlush(LengthPrefixedProtobuf.encodeMessage(ctx.alloc(), out)); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { + log.error( + "CmdRpc TCP handler error source={} remote={}", + linkSource, + ctx.channel().remoteAddress(), + cause); + // 半包解码器之上若已错乱,继续读无意义,直接断链让客户端重连 + ctx.close(); + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/spring/SpringGameCommandRegistry.java b/BaseModule/src/main/java/com/huangzj/base/spring/SpringGameCommandRegistry.java new file mode 100644 index 0000000..b08d7eb --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/spring/SpringGameCommandRegistry.java @@ -0,0 +1,55 @@ +package com.huangzj.base.spring; + +import com.huangzj.base.cmd.Cmd; +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.base.cmd.GameCommand; +import com.huangzj.base.cmd.GameCommandLookup; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationContext; +import org.springframework.util.ClassUtils; + +/** + * 启动时把 Spring 容器里的 {@link GameCommand} 扫一遍,按 {@link Cmd} 过滤来源。 + * 当前 key 为 {@link Cmd#serviceId()} + {@link Cmd#methodId()}(与 {@link com.huangzj.cmd.gen.CmdRpcEnvelope} 一致)。 + */ +@Slf4j +public class SpringGameCommandRegistry implements GameCommandLookup { + + private final Map commands = new HashMap<>(); + + /** 只收某一种来源的命令。 */ + public SpringGameCommandRegistry(ApplicationContext applicationContext, CommandSource source) { + this(applicationContext, EnumSet.of(source)); + } + + /** 区服若收多种来源,用 Set 传多个 {@link CommandSource}。 */ + public SpringGameCommandRegistry(ApplicationContext applicationContext, Set sources) { + Map beans = applicationContext.getBeansOfType(GameCommand.class); + for (GameCommand cmd : beans.values()) { + Class userClass = ClassUtils.getUserClass(cmd); + Cmd meta = userClass.getAnnotation(Cmd.class); + // 同一 Bean 可能带 @Cmd(source=Client_TCP),在跨服进程扫描时会被 sources 过滤掉 + if (meta != null && sources.contains(meta.source())) { + commands.put(key(meta.serviceId(), meta.methodId()), cmd); + } + } + log.info("GameCommand registry sources={} size={} keys={}", sources, commands.size(), commands.keySet()); + } + + private static String key(int serviceId, int methodId) { + return ":" + serviceId + ":" + methodId; + } + + @Override + public GameCommand resolve(int serviceId, int methodId) { + GameCommand cmd = commands.get(key(serviceId, methodId)); + if (cmd == null) { + throw new IllegalArgumentException("unknown " + serviceId + "/" + methodId); + } + return cmd; + } +} diff --git a/BaseModule/src/main/java/com/huangzj/base/spring/module/PlayerModuleRegistry.java b/BaseModule/src/main/java/com/huangzj/base/spring/module/PlayerModuleRegistry.java new file mode 100644 index 0000000..0bdc946 --- /dev/null +++ b/BaseModule/src/main/java/com/huangzj/base/spring/module/PlayerModuleRegistry.java @@ -0,0 +1,85 @@ +package com.huangzj.base.spring.module; + +import com.huangzj.base.module.GeneralModule; +import com.huangzj.base.module.ModuleMetricsProvider; +import com.huangzj.base.module.PlayerModule; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * 把容器里所有 {@link GeneralModule} 捞出来排个序,统一 tick、save,顺便给 HTTP 一个快照。 + */ +@Component +public class PlayerModuleRegistry implements ApplicationContextAware { + + /** 排好序的模块列表,只在容器刷新时重建。 */ + private List> modules = List.of(); + + /** + * Spring 回调:收集所有 GeneralModule Bean,按 {@link PlayerModule#order()} 从小到大排。 + */ + @Override + @SuppressWarnings({"rawtypes", "unchecked"}) + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + Map raw = applicationContext.getBeansOfType(GeneralModule.class); + List> list = new ArrayList<>(); + for (GeneralModule m : raw.values()) { + list.add(m); + } + list.sort(Comparator.comparingInt(this::orderOf)); + modules = List.copyOf(list); + } + + /** 没标注解就当 0,和别的模块挤在一起。 */ + private int orderOf(GeneralModule module) { + PlayerModule ann = module.getClass().getAnnotation(PlayerModule.class); + return ann == null ? 0 : ann.order(); + } + + /** 当前快照,一般给调试或管理接口。 */ + public List> all() { + return modules; + } + + /** 对所有「开了 tick」的模块跑一遍。 */ + public void runTickAll(long runAt) { + for (GeneralModule module : modules) { + if (module.isEnableTick()) { + module.runTick(runAt); + } + } + } + + /** 依次存盘,谁失败谁自己处理,这里不中断链路。 */ + public void saveAll() { + for (GeneralModule module : modules) { + module.saveData(); + } + } + + /** + * 拼一份给人看的列表:类名、顺序、是否 tick,外加实现了 {@link ModuleMetricsProvider} 的指标。 + */ + public List> describeModules() { + List> rows = new ArrayList<>(); + for (GeneralModule module : modules) { + Map row = new LinkedHashMap<>(); + row.put("class", module.getClass().getSimpleName()); + PlayerModule ann = module.getClass().getAnnotation(PlayerModule.class); + row.put("order", ann == null ? 0 : ann.order()); + row.put("enableTick", module.isEnableTick()); + if (module instanceof ModuleMetricsProvider provider) { + row.putAll(provider.metrics()); + } + rows.add(row); + } + return rows; + } +} diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/AbstractTypedPbCommand.class b/BaseModule/target/classes/com/huangzj/base/cmd/AbstractTypedPbCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..8785c367e2a57511a2ad2abcfe054a661b2851b4 GIT binary patch literal 3416 zcmb7GTXPge6#hC{m}D~$2zL-zAV3lzD@sJOAwX6x!4N_=+{6pBv(09b*_qAEY)DX1 zP`Qap6wwDBw7fu37D8FI1cLI0RsIf=@a8|TJiRk}2`mvFW_qUkJ71qZeQtmMd-qQO zoA9k4B`B5PlQ9KT8D{h-{Yp?*jCgQQw1=w>!_+3t(41z5(wf@+ew3kHf?q}jWQG;0 znFw~L2!6aL7*%W@R1>ja*i0l8BNjFdhYt`#dD1c+v(-3iGAysDZ7V9&k;R0>9@Ax1 zVg|$X7+1|0k9G3C6t{_MsV5&d&A85k8Rlr}XmB^TZ6(e#!c{V6VKzgh#qFeN*t{jB z=`n6Gte#xD+5?6p%%!dJwrJIL9#`~;qd0uqfXb7OW*WkD^JOf+LWZ(9cfz`2+YGa4 zkGy1NlC*jOizO_Pu@nI^n`y;^cGA*}_)$wq@MEUc8%#Nx9?Zb^(H9ZP#JSJrmd9IN z^8{_Njh17DglZWpv5GA4m?8`kk+##846`Tb8F7R*p(^r<8X2{yW0;pvdO2O9syGKU zr<=ZPM=>1IY*nEuo@Aje-jpA6uvR$MI)*vLM97_jcu~T7886{whBZY!V{6oQEJby? z29rG25%s)_{LxAo3_Uf){b`~ThBBb1In88?IiC>D-+)&nY?SdTUL#j7)K>U?oEyP# zBG#Eyw;BChHxUo&wH>grFt^igydWr%|y}dv_~I?B0M5#);MzAZV;+!An@tK4RqNaY% zP@T7$X7roAJm_WV`zNj%IK|AV^^*} zy87ez_a_?z?4NrV9{qNE{D&KlZu~TM<=63BBcsE=1h!C-3_KjZG(K{5?A-l8aicbc zyCQ1?k*;vP=f=%}ha*2fI&*#W{I#*)uZ^C*kl&wDbE{!^of0RXlROy-UsEJLVe?|9 zl<*D1lF6ae47+ysEu+Sz1PtBOFO||r%`?4w=x-~HjK(Q-x4~{@mV4Mc+K;N1)qz9Nu!?XwR(=hWdEF8g{Lv?A)8^)qEmfgi_ z;5OFW7oc_lY4p{tS+~HKM*T20tWBdajb<8NPh$rSyVBTALq{5s1-?6=aJz%U3~4B7 z@SC)$4?^`uOs97xHFGnt5LH-`Q;VWFiWi0p)Em`ry literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/Cmd.class b/BaseModule/target/classes/com/huangzj/base/cmd/Cmd.class new file mode 100644 index 0000000000000000000000000000000000000000..10d203171d9cbd2e8b991ddaeaa688834aa9ad89 GIT binary patch literal 481 zcmah`%Sr<=6g}x{+WM+b6cNQmX*cEr#Dz$OLe)}7L0qLXmv+h|k(o@PewqtEz>gB| zRIr-?7sTmKx?MvO2%B3 z591jH&O=S$bd^=cSf^ZMjlBK~1!}3yl7Ix-o$jExgVkD@@Nvnz6lkQB%%gz%p+LFQ z?F-a3xv35FMDv$+8^wHOoy}e34g`)ynQ@V(=O~TFF|8b=0%wClmm_k-8f&;`b*|zp zH~9~BXyYhYu)rHV-TVE!p1?`5#8=6L95c_0>%EvXxAzxs#H5Pq_#lhed2PyKD@T1iD#}HkNS^HQ-ta#gL>OjjrXfM>AqHa&Ra~ zx}wzDrpTAnJ@WGLS`F*u<8FFbbrqhEpoIbRbZ*7>0twdMu~t)}2yMO}TRP(&ZjcR9s)k zRV{#6E-MO7xvEO6q)+st8@=e`*sq}<2N?ERuI>ompViI42R-!VIALWAFXuYGxJV4* z;d6$qnck6hTI8ROhdCb6@F)&3Y-%USup+qh?9D zw^%dWS0VenhQ~3;&{dM5ktwj~h=T7~PC0vi(N>UmS($4?IL0xo;RzgP*d9ruCg&Iu zreDk1h6H3?0}z$TYLmP;fiG~3XgG;ebdC1rLb{KM2|K6&DuD?peeu-;t3fK1UAJrt zU6G|&pU_8T#(OG>M>TvAV+<+E(otj9b`9d?PP(5wf2rQ!tS>@Hy745Q;y5EK&6g;| zQR2Zd42OffUB=qt;Di8kj5BPBGJBFpWt4@)|Gb8$CHRS&Zz_i+iqC5JGQPsFs#v$| zlJE-kYSp$Rl^%`)ND->;Tedz?cTC@M9lfDJ1S!JgC}|KN0&ZDGmMQ~5$na20Y@5zd z<=C~1GrI?ayK+p0f{n7hP>+Ht7pASOu(pOuqr&Dqw^kbyehL;`*)6IJ|H`z@=GGdJ zZBtj3&8nGqX54AwOFmkx$??F<(lCeNTJ~YXeU(-oY8<|XI%e8pp?cUtQC?jN>+?ce zyVBY$qPt%k$Dc4NA{W3t;=0rIY8$ywCJafowePe!F@=km<#=AhC47}(U&u|W;I`#V2d*>hZll#QDN(0ZEun!% zTeViq2ndUMYU>eg*e=J*#)!hu6MZXXUJYi{?MuQW4pS4_ri9y76Cybc7gg7(iLi81 zmMo{yEHRWNriw=(exEu^gkMqc4RiXWQB`Tf@iNC76c<^|?@_)d`W#mYsz})-A>??w z-9+5NYmVQvya)shnd2JG6%m695#!iJQ&eSRqq_Qgl3Ey{nor1LFr!n?rsC%dj|xNL zh)JAMFBhqRSi_bqCYvKm!$E15-UjkCFMFyP3$nq(=-?5WxjX2khScTMO{-4&O>Z@{ zbD4e}qHjjuU46H}{!WVyyg>iu3lQi%BZk#@kyctDgqQF&`jy1j@eMLW2H5|oBX-l? z?Y=qifq1$r9ZSb=Vuk#-<|ZB*;QzqpdGs*+5+`W6c5mW+bc}bVV}vAZyk;P^Gi>m0otZ*siFv7XD#A#`!<;CP4Q zxAe#El1h8oc#AAc{2zxn&T^FTJJO4hGuQD4TBYOUCCERJXCR+I-T<%ACxJgU>9#|8 qPYhbSWe(5%6PqRFm;zohQWC8Lf1>XWyo*26cZzn)IE%l;lOF*qw23GH literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/CmdRpcDispatch.class b/BaseModule/target/classes/com/huangzj/base/cmd/CmdRpcDispatch.class new file mode 100644 index 0000000000000000000000000000000000000000..8cdf229ce468e617e127ab8dce2c21781f4814db GIT binary patch literal 1591 zcmb_cTT|0O7(Lq*Lfc@uc&Uhj+$=2+74HQfsNi&_q9YFD3{Tr+hX$K$CrxX|KjPoe z7X=^u0sbh*FX@E_%FqWNlHJXI-#I7Wp8fv({q-BbCN|@UKv5CZFoa=-u_NB#dWAcO z`rFcxFg%9g4a>2-mkdgJc|VR3#8kvJB%m?O8Pe9vbqfD-q#L%W9|}j$+vfYKvF$WO zMOFnvtjgV**m0%JkWL?LEf+7(%EfU7Nfl!n#xcP#-ssW;ox zQ}VCrLD)huUHI4B7I|sg+%bz%eyUe<{o~p(dFgnf>E#CezY$#3a1GZPv_s+T3AbSx zqF@GfF8Fm$X}IZcCusYP@XFFGm1I$}QInMhoyJnSPzWpR z_rJLW?qW{GyoLoVGR$5^L=>VajJih@GFhgVmBDnwKUKCySONcI$RY zxF2|_LSH6|(%_YS?ppr3{W0p5ts28(NWiJez`h+*Offea04Jw4v4X=6e|F#_7aWBzW4#PqS{eshBh;KIyQS~h8)KolWm^|$t z-5t7@E&IOXF5M_kxKwaM<|o*9nnZAq-hR*X-%)B}X_{%RAS@$8s~ECaAs`>%BaKl%B6AFN zcQw0mjL~nj?!_4=!ifMU(~89^)+olu)p0+-)=1*RK$=RT9uewe+Kqxyqe#V0-~<|7fdYS zjzCVUqO=lNO%8vqrUDjCtl+M|&6ac-uXP|_^<+p9iW)smYXx01QNlWN3S@Zdd!dXq z7TCNBJ3I=3m)BM>xs*|*sttk6K$hvfwkLn=b(=Ey*=cqt)a;(`I-Q0SwAFXKnTd|u z;aS3;X#Aa_{KJlA`|Qi;*l)dX0;ek@88Fzv|6EmFm1R|`*PS&sCY`S}aJtv)0;O?) z^JWpa8#|5b34wc8dwg{A`Jen=;L2xhbuzavUN8^TL<*R7-X}q=Ip0 zV-@?DvkI9$7OlcWAInz3=wtP~_>$Iln~B_~W)B$OW{IDpfG?=$mrV34o$Br&`Y_e< zP?Rz?P@<4KPF1bcsVE)F>hhvKYNbxb(1jF?3xzE4_X?j9A6|4!g#*vEO{;XDu-?La z!^Pmh481w6^D+kxabCPbSi@!T%qVy!5xk%oN15mT8ezVb2wtLUmzftwndcM1E0p^( mczG0DNCcO7PM5)}qu^o!IK|^tvOdJuw0Va429NQbk^2DshtI13 literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/CommandSource.class b/BaseModule/target/classes/com/huangzj/base/cmd/CommandSource.class new file mode 100644 index 0000000000000000000000000000000000000000..a99b995c413aa92613b85437d8bdcdbaf4ef2be3 GIT binary patch literal 1563 zcma)6?@!ZU5PsgRWm_pQDk47>aL6{)i2|ZS1Sgs$6NtklMiW!E3ME}@N=Krf{Db_U zAVM@6Kl?`+@7f|mNMz*Q?Y;M&yL;{jzkYxH0pK1MV~7ZhRGoTmqoLdD?>2L5`j(Na z)@!+fQ?KiGt?V@1s*!+zq(VlEfKsqb!}eaS7FGmOrT>HTjE<{FFgj6qx?C&>RM3HB3~eepp$W)U%driCu5_lfsc-8!i^$}b*EWr+msik* z^D%U*xPTsk_9KHuyHTgu+q%^-mR}1@rJK+NOW)ecHz~@VYufAi<_PS-_ur?Y9|Hm{ zv!-o&a{}GXu0munQ(?{*Rb0XlRphnn)K}lWp}a+rA4XJMMoK_Ed|1-!^r)T8Ar3i? zF>XbvxVW^+)l|qqhO@|$JS}+fq?=47jsyd*skn|Dx52N)mcUp#bEZZRO(4E?qstrK}}y z!z7`k3~Ed&Fl!4gj$1Qr-J$_3o9njjHC)Q9JAGk zVV9|~vsEh`1432=rkhI7BQtvz@^g725^Ucilgp?b+sNxY#`6=@ye?X0dA^sI6Cg=z zMjDNW%$GD%K(db)jqWjezkwX#Cg?Uol0V80lrL!iiH?tS6Szs=E&f}A>@VOJBEJ13 zNk%A|$R6O_PYAY;9J8M!jT%^CieqD%j!f(Io=s^&5%rzDBq`IAmK`71M{jm;4};lW zX%EAnNED;9g zL7wuPrGJ1y6}TGAO3r@9;0NE}r~v2ucmW|fj3+RM`=@}1|E)&%NpMo(T?@e(pB~UD ze}{M;-9fbcT-rgb%#Mz?A&z-0gs{gU>#=Wy(nh0_c4Z&wT}1u+xFl=i{ylbptGiIR aoPo1;zie$t(%%quHWJq30SZ3thkpRd8a=oG literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/CrossRpcInvoker.class b/BaseModule/target/classes/com/huangzj/base/cmd/CrossRpcInvoker.class new file mode 100644 index 0000000000000000000000000000000000000000..bec12fa50c214e4d96d15e189c296e59e0ff6d52 GIT binary patch literal 317 zcma)2%TB{U3>=5HOT$A*i=*(QlrLXzs>OUkxI(xHRH@SCFVN96p zZvP_UXu-|aXG;@I#SMo@P=Q}tj^ZtS@@=qumzPX9-wSlz>x~G61Nj9&l5dC+5-6Dl SvOh#B-H>q9!#I|j;N%C`6IfON literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/GameCommand.class b/BaseModule/target/classes/com/huangzj/base/cmd/GameCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..3ee0780732389621cf31eb656de9cd2af5d84da0 GIT binary patch literal 354 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 literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistry.class b/BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistry.class new file mode 100644 index 0000000000000000000000000000000000000000..6db7e1b05553f753d4a412a844ae377c89507406 GIT binary patch literal 2500 zcma)8U2_vv7=BI@*b=t1DU^zBX@G)lphN`~8$e5?5=a3l7AyF%Nlw#kHoKYKlPdlI z9cSd83%&EgOFvr%X4ES${2wsmkI?Zsy9-TeTA0l4o_+T{@AJH$Cx8EU|91dqu#`dv z5(bhcwqd(K&yuxl_WG|!LnD+EjDTYi=|x23S_QaujH=!p7O5AsvRi* zw!pU1?Msr+(c<#~d zpTi8yD&KaiL^p8I#376b>})huVPUcqFyaEI;s~|mE8ns|%3!|LWGpgpL|}L=*9FIs zRm+)GmXhZ`FUy9qJvW6>j2Xz9IErKIN+TjBU@TisQ(jrnf!rE5cBPj^cicn{FAMb7 zt(w$DW2qaqTI4EFmaBrN+=_R$n2#l`ZpES$4&zl_$tMK*S{XgwGN)ttnu*u(1`|`2 zjN!AG#}P~6O-vZbn>dX#o7M5Usu4)KR-Hw*hefs)>X=F|1m4n-c$;5B6nXx&NvBSpAY+*hmE+A@};f8qAM8lWM z0$nWfa*g9DCf+j>_Uu*5XR?&^>4f3Sz;l-A>V-|ntxI%X=c?@#S@U7j$gH*ZKHm(MZe9Ai%m>fjx%d3 znePN6cJN6qGXH#a=i&Ev9{uve!!N&?$cW6t)t?`I`*lWiqRg{LOz+IeSSkq6M$syu+AP~ZU1i4M+0maIM>`JCii2hJhMHBV&Trzkm#1Xn;$ zb`>J~0LJ_(cKn9aPoefZyz6ruw3b8{&U0l(`k2PMd}Ae}Kn-o{JL)9)Jb82lJ-qhv zdhs5HX0pE`b&M|u{zUrn_+RLIfW!00#_!>!`xpmS@yZ_>F9D6Wm+Z)gzchx({s4C4 z1o}ekY-B&iCK4{<5;^o>1Vzk{#}N8)nX&|~(8^ATe{sUVs6k^_DcB~sL$iJl*J9T5 zG3&Hud311ygjaBqOn;UF9LA7&FK_&4%g&ml~ f4L-FGAMiQPYZs*-^8M5BUP6Vk6yGJPu(9ud8mf^b literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.class b/BaseModule/target/classes/com/huangzj/base/cmd/ProtoRegistryAutoConfigurer.class new file mode 100644 index 0000000000000000000000000000000000000000..3747acd0835ad9c3cb95359f3c731acdca036c63 GIT binary patch literal 4722 zcmbVQ`C}8;5&oVJtt~Iu7(x(fhyW98VGvhHYY8XD4Md3n7lEmhHqCmqve&G3)!mi3 zn%+t8yG`%=pm&=CgQ2AKOq-@h{+9j@{od}{lCW$-f6yLpXXefO=9`)K^xBOpuK?JO zH{xhQvw{{Ct%wP9O=~k++S2UF^wEiFL-z$@S<^QCL4oGpzOi<+p zPgN*>ZaO`oc}7|<71E=w<2%QUNz?P)vqKf%8FuWVIazTHSD;%fmn~D*eABTx?i*(~ z$IcPQolJXW*R&^#u2wQmJMO8p9)3;_Ez-zHKUS*fM3=yda_xKqJtMdGDx;uVAlXpx z5a%CuN+r!MbYKncQm|IV-B>5EjjuwxfEgJ%xdPk}V4_lh&W%|OA zif>x!!&;f1trzGEq=GS`pjTYiu>G{=J0(+34+Xazv70p9I1*^?z`fX@;64>eY$PI8 zZCYdqXEdu~cmnHsYiApFEQ=v#ATk};j2;DBRNRlP0&A)UszL&7rf;}(f?-@+XDJtr z(@q~!3bv`}$94w0YG+YsK{5#JU4Bk&K{Q>}A}){Mpn^jx9z{+d z)zBMBzQX84#Oh;4QO2DPxQ6FgGsdv*<$YaX>yi!xa2+j6u4q=Ko3-O{6(cxIZfUx1 zlxghw-ZznV_0=HLScBMQYLenM2~d|n#flveI?dAJRZ50Se2!vN!8=qOL%xoY^UD!v zH;bc$f+@zD5MdCkc(J*#1fEbahLbFbmNQA4VfC_#d#BSQ&LopE(}r<@fx1GN)L03( zyJ1-jBAzTbw$YzF|4cFv%-KaJIl*et>-EX3ep1D|@NP~*ngrE17sq?>v;s}V1Q@PW zRYpa{fXNl4`q84y&|H-40p}tKW~hOpf=LxqFj??}WrBimS60-p|x+s20&QAIQ<+EZ(cal~A-ZL1#?e$gwhK z;j5^~(YBJ|PdSAgGww9bC^)O)oGcT&8d`6d3qA8G(5(BOH1j?c&qy21p0CF-jSt8M z`9Xolmtc9l&$-;9GQVh`Z!C@v<0A?_s^VEZ$KKG;-8v3&ts#MAC*8b+D+{P+OF48IMZ5;(9Rot(F96b6!EjP{e75#sVOgjqfjq~M#c^Cs)u zXHArYNOq2xwsE9VnlRks+JwasmK|NQ#x&QI z@6lk3KV`C;?S2#1Z>hzs1&4z?8r9?uj2)eJ?$L^TSXif*vprw434m`D2z8~}Fjv(C zEkv5h!`-03`o_M`TUAZTJ+&FJk~2CHK|caLc86K&z&N;I+QuDR3VfxmtK-yW6_ci?#Ekx7xSXybKp!F<+bI(qJ^GoFV z9k$BGC@)tLLkgBPlLcqb|Dn!?+E{C$?hur=tZqezjCfe}51NwUVP9-~lGq_RAdom# zAstJ`nCY3!g6hVIAg-1=v_@MnR$YFD&So;zFd*EkPluc~+f zFLvSY0{fQW>}~0$=4?CKh|5DuEbPq+{>g&A1Sa)hD)=|IB+HA^ZiqZK((NV)d>zeL zFZXra-FD0KZE)uillK;WZ^bt$_btAS%R@8oovBL@scjdbr1~#n#S0v2!nb+trUH0o zY{5FTvjwlD;qP!H8LHvC_#WSAAecr3PjaFre4o$lO&pdV!C8NR7_XdFjL@9Iu`{Wc zp>(gB!|EoCTt#C167D&?Z4Pe{n8PN4BirZDE0^;yA9e^_$EtyrM9VC8U&g+H)Y~T=!K34P{clNrydNJKghKVVhetV9}&&R z2+WW16OQdg8W-@>0JJj^I4Ugs3_s`E*Pwu3;FkpFSDbq-@1c!f(?%%u8%q6_-%@D4 zfuw?a6(kh&-M}sds}ww>AbS(5<^LRQ;YXmWN%AyA7XKx#t<ClwAfANz=Jcd zB;fX0% z#}#QzKF#6tA*>;5LRkCgN{T>k;}NqxY$+VQke2X^0ZnF(i&+;?2f2{ zZ{i_Tg-Vql_<(#=DrdCoc!dQ9KS(pv+kH-V&zb(`-|bHT?%>e`GRRsOvynqyU~0>K z<2oHTXgSZNr^2Q{e#H-by(*9`l{d#xz_^788$ZAnSoT!cY4_>=Zp&%7k#xLn(|Pf> zC!5b2HP!99LG!tM*^!=Jtm$Y&dxY_HBrsjyWvX@DD5@IhLpF*AHydehh6zsFn89Iz zf>s+k^n;ebqf-65Nvq`)TMSe+@JDUT;uzuEZq%-+rWCkwAoz8IcEZLSPO@S0b>Ho< z#VC)+ms2i-)~zfJTGCRg)sapwR9ZFqFP+CSirkj0 zu2uyuls*rt?lF`%1;*ko6zhHBN;MArx(62SwmRx_N%^M!k|0 zsJZ7g&WMhT7VApA>i5#JOkQfLwMn2U|Gtd8(C=v#rbFT;ry>%JKT@U<>_Y=0xxWJL z2v{6eRSu&fxBN{C*y}+c!vT+^GV}3RvrywB+wI5*j-3iEJP?@wx+`(xcHk#Y#SDi_ zhJ%nJ7XqgSr_(%hRHn{(+H;sk77N_@X0CHBR{n;lEPaGkx%?56A85+r4FB^Cjxf(jF zvW+R=Pi`}09nQiOLzg6rY4VjugdYLke^dAz$|N!DD_l(v3zem99RE^$TwdY-CKOP? z5)&}x<@k`e2o`xc0d;sX`Q|Er!TMT3xdbu3w;vf)90@Y{Js>$;A$JB21!C4^T;n>= o-LOc8CGs5O{gjP<5eonhbxXT0^_IG{dfH))e;VRSOd`FhX$zR&Z1oc!_kuTKHIhe{M3 z=+qF>5k^FyXVrXQ8fCLuG#2u!(((i%Go@Nl;tjLG9bKj_YrLr+sHeL57XRd%=l-^BOI{u!(P%^V+#owDA-L@0OUUX~d(XkIP zfs|!ejFme5dc11nO;;LLrC=;Rs>#Cj{G45>nAO4!xm@-=jxU$0h1tC8Ii}_LGP!z9 zIs#|jY}pAE7}rgO#gk6yu`H={@MjK@Ep=9L5ncw?)Bg%~BVco3*^USypb$I>mZLRy|UBFgbdsg|nuLhO>Jy zpyL>h3+!^thYi}(t>D`(Y-eA?5N#;Vi?&@XOQYu4o}I5R8(HbPW>H2lf)g5&I!2Ka z=-xupu+~#@XI-~cteW|qP-xkvZ?Z^p=W=SO+P1t zTN+LZO#b(b7@G6koM$OhQ#wwm#EqJ6uAZkU*Nwu!+baFv5g6X?VhhWGbyWntIHTh% z&Ixqb%L2*PYeC&KQ@T9~lnXOD>yG8rOSG3{m04!_>FGNo(BB5QElw(hKF~3%Zby0h zhWSthT*I6|dPh3iieR%)loucAxTrYqqMlasp*g!C8PH6rD(CB!ymS^-1ex<0+cL|y z7#p>2Y=*p*60>nEv!iw8+_v(ZrcFn>cKLw}!Xj{@mA(ea0qyPVv6Ik_Ds^9o39~IY z0--uP4dYT{>l$u3Z!)>PxOvBPiiDAPZAr0^EYEFN?atRr<$`n;oSd}mYJrEYXEhGv z?KF{r235T+zWA~;sq>19oM&41vu4c~)3C@MoR!{+UD$M#p6$-5O7iLs195j7TT0VT zJ!j^Bgr!j<)5<4NwT1q7zwJ;RX}AlXV)D|UM#6}?cXu^CX~Mdd*-FBmTH+*M zpbkEgK!_t>M+jWv%HSwChEq=+){{x;Yc@0{Ae(Q~2kkUxeKp%;iH!Y|Mj8%%`O zG5k#+mk6&TeJ+xS1SgTLliy%0B|@>mbxbBA{_q5+H}LKnJqY<;Uqy`b7`@sL)z
+#y%gwzR2jiQ0mjOPe>B zHg7KR=55LzN8}Y^8b&nqzeJCQJFhV4FGo6Gs;7LU6Q3!aWSqn2{C40Ay2*bVL8$N} zcRIO0m3jdq73=s8qp5XFXVTBn|1}PzpP@g?n7z-|_~G{mkFD|a!nGg%`BQAsd&H+> zoO&nF&CD5LRwXgT=k63|r+vx>XyqUi=dMprH;KMSYE?2#Ax|pcQxT+;+EG*}h&u1R zRFAOr7p*kFm9+w$lGZ7Y3KwJsF8YSpT!3Dlw_P#bNiripcc0k&Con`N-#uhK7V zs!4xvoP`Fcl@~E35 zmukz|Qk{qfv4rak{!UPFHyP&iy-a^1604AYyPtiXE^O}SH@9BwykuZGhR}v%Hzl`a zky|Zl-nT&lFpTC+TWqx&CE@Pyl0}hlo?5et+%?s@7xc-xN!&*MzqCpbnk|lY%7+(4 zXIR%SH1O}Qh2TQMRu88qBg1>W-<6+BlP;x5t?mT-LauE?TMEa3XA!7w0>rQ2xD{n~Qk{bRuPRlKetf^$1>H6$XyR0hf z;tqz%(ID$Ya055#yG$z&0`SsI9;e7HimcI>?1h2&3E0<8icYioI{>-MhjGN{SFoFe zI96yij0BQBfMqhK8YADKy$c7tnpZnP@C!v46p|tWCg{v63_?|;Z7RY?-{{IIMi~lm zEphhY6cZk7B@<`InAuGxjP=Ezv{o#NtMFx;lD)rjJ5 ir!S52@8LcngfWT-SSQ+tv_I^jR8W$t@e$1)JpKikSVYPI literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/frame/NettyBufUtil.class b/BaseModule/target/classes/com/huangzj/base/frame/NettyBufUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..af49a76b8e1a3bab0161327069ff948cf3d1d0fc GIT binary patch literal 666 zcma)4O=}ZT6g_v6G)tv+1dM6;IvJ z3sw%2H1W>`rFQ3}j#bpEsE4?QP_U6?CUxGQo46Q{U2b~k-t~&HU@docWaF7r&)K5* zP>ZjJSVu!p)A&`a)gJUZ{UxpTt7r;#hS}Uq3gY@aHL*Q&W}Mr(Gsild1K;~(CMdti zMozHaPf~YW%ww0oQwV})KO5TFiOmzWubgE+Nr-H>{~x{g1(70t^Y2!z_EOlLL62MW zS_GR*lLV6TJ7i{VKM4XYY8*K~$wsfOZs=W3jPG<18B1*+km82&|qoAQ*+UD`?3&svBh|WL++u)K{fsb_wj($+v*o4fbNHs H0UrGU!eo!> literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/module/AbsHostModule.class b/BaseModule/target/classes/com/huangzj/base/module/AbsHostModule.class new file mode 100644 index 0000000000000000000000000000000000000000..9cce4194b4aa2c944636d23e60f7ac4bb85e7a9f GIT binary patch literal 753 zcma)3O;5r=5Pi$1U{yrLZ;c0IL1XWVB*w&eKqb+5@V12wloU!zYofnO6OD-ne}F&A z_?BW6xp>%}eKT*~?96<8zP$rD!e$0B#M4L^NFpV$UH3XxE0o>lL))@tUs)Zm5xUAc zw)vZDg! z^OGr)89HW`YX{?5m2sCq_R0(Wx;k|R6Bt?6zMg+#i+i5n$_3{2rfH{$VwmRP6p^Ey zrRSJP&?ZaI5RZJsk>{-wK-wH{BO*{}fv7OzStN>tm&lsLGV`_UE#+gh+0rZ0rQH{Z vC!*il#z4Cev4+~@4?nA`{KRyXC^pS1D|{z8Y4#A6UZqI%TEjYnF>HJR%^;om literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/module/GeneralModule.class b/BaseModule/target/classes/com/huangzj/base/module/GeneralModule.class new file mode 100644 index 0000000000000000000000000000000000000000..603870b241134fe03cc7c7432b28ce1e59108a38 GIT binary patch literal 3760 zcmbtXYf}?f7=BN(NhB;FC{%@dYt<0Nw6@h&kb;P}CWr)Sq1BlsIgo{Am)Tvc^bh%^ zovAZbXWE%|rhe;B>W8+^dv=p-ZjhON$e!JEd7k(3yzg%Q`sdf*iRczROH+*EDbjRG zP*Tu^lCzVm>>2jv4_mo)!;`rkr@Uv$-0Zq{-|_r{dJ>eJGHuhJ7Brm6ZyC>xoP{H~ zN9$X%Q4LdIiNZ<10PXNBt=p(CH`*9>9H1+R`WwW%M#`I~O&d^ywnvV$#nTPD~dEnF?o_|r2yT0kzeBeW!F3?3my^hTo z^RDZ-f=)yuSKE)^F?B|#ai$)SwlCe;4P5fhrfGw2&M8YQecbSdjKsY7C zS}|Nx85>M$e#L}`m-3zR+7R1GBzD&__9e_4X@uL~l_AfS?y#no7bm9y7{>@L6r^8q z%8Q0;>_|8Rn|g}orfv9pE^JR`uxoq;A@ZcZP|H|)11j?>LHc@;utjCugR;`kLnP61 zjPf1BH`K(MpgtoARdx0VYbDr__Mn2f3UmrWEwjdSi4Dgs;jtgsfxJRVjI>H(D$DNZ z7N?;o?Q+4}guSM>BukEML-!C$$gUEVayB+BBnd`=v~0UW$qhGF`5?&i8>*I0VILVI6M>L0H=G(e&yG8Z^E6W`XKFrzEJ#V+h`~?CDdJ z^-Z^@7H>wJ3CX5ADy^X#Rh5=5I(x|GT~k#CgXG&*M5wAEI|W+9-}LG8VL^3 z1YN}wj#CalK_4}&eOz0+hP6-dln~fR^eKKZ`V5oTsTWta%p#&nhEPOOep9^8_akc%nQK0*bSy8=yUo)Vc(=lFtEMT7}?&K_9L!AsFG@C zB7zxfv6E*4JEyw9y4EGutuC-`bcr=hUn1u0<308dKT%Id;Np~m3REC!DiAaSi3KVM zlEQ23Y?%8Q#-dp|8RF04iDQ_^zM+wyaT5*WOvKzoOBi{Ekpn5+2F%>yX3uvp`_92; z-%)1IACCXv|KQ)P$@Z4wYZLZDBqY_a*DIhJY=OKb56j@=4yN9()p6Sl-dCnQINa1H zU7GsvaH!QTp~h-Z4ZY-4UA#drd5XG!7Qsxmh>K@fT!Owr-B;^9=ufeppRf`Y>Usq0 zpnA`viv@M{4(Ag?+&N0%Z)01zNxzctel*?h!4* z!@7!ijeUQNAKn%Jf)XFmeOd|(B1KDoQ}T9-&Lyff{RsOs{%VXUjyYO-hObO%?HSDm zRAn6Yi~t`WnGyW9J?TXUe0DnOU=x0UZKY*;66U$ylaQO{o-`0ib?2TWXr%}4J_@mQ zkU)qFvb^3I?XG9`{p0lwz$M0Aw6GH)=wTNj!+0q+g4a%IJ~dj)+$mG78QQX3xyPAU zF$_;mlkX~`;s|Yqv)q(?QHyH+wB(ssOJ16y){@WsGn3A$e0^ulMitUV=rRoa7)>qw zHe1qP3{lzCF$7anNQQo*DtS|vnY8yJ)5MGtlMDSItlHu)GH?q;GI{bZ6){66Rr5-? z+S26n-_9-?qh4W3`m1^TgK0F!S2U%Yn%d^_T5Sa$|LJ(LHA@?g(4ox(jLsfHT7Qqw k#A6_M0edFg!al{2SWtFAvFGyueGCW<>9#N;?$BpPpZU0Y-v9sr literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/module/PlayerModule.class b/BaseModule/target/classes/com/huangzj/base/module/PlayerModule.class new file mode 100644 index 0000000000000000000000000000000000000000..fb439de54cbf91a0f212accab3b6b8860fdf6f64 GIT binary patch literal 455 zcmah_%Sr=55Uj~2uEtm5;~*l6NYIP(0pdY0Lcr(}S3x{YHf@|`c1AX{f%s`2`~W{n z?DgP!2zVH#daA0cdp^J3KLDI#J48+3C~=v5DU=<*rE;hyBr`WE49Uo-8Rh+-B1B!F zm8z+dhL!Smm{Q_HEC}pZugY5ImDkS7i(e?vaQTRGf#CS0C(y2_OL|s?@c~Z*f##hn z@`SFmAy)lOKP@8!b_Rv@I->_Y(L+O3pNYW1_1rNAx35C*eKx>1Yr|f-=#QyhX4Qo literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/net/CmdRpcTcpFrameHandler.class b/BaseModule/target/classes/com/huangzj/base/net/CmdRpcTcpFrameHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..4ee0453b53efcb4faeaf18386711a5789793ef68 GIT binary patch literal 3209 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 NSrk%Hx9}&V{sV|ENNWH9 literal 0 HcmV?d00001 diff --git a/BaseModule/target/classes/com/huangzj/base/spring/module/PlayerModuleRegistry.class b/BaseModule/target/classes/com/huangzj/base/spring/module/PlayerModuleRegistry.class new file mode 100644 index 0000000000000000000000000000000000000000..cccb390f00168cfb8cab567e05a04211928cd981 GIT binary patch literal 5046 zcmbVQ`Fj)B6+NTHBg+E@v&CUC5O8c6BN|MTSm4AsEOum>V#=0oV`;Dl%QMQ1WH9MM zcak>Uo0e{AQ&MP~w4_ap4Q)!grA^cI59s&xxBd&|OGD3lGqOh5roay#y?O7x`_4P} z-22}6jkhnq3SbBR5l0AN6%h?l)F@bVTp!nydEFXL4h$VPvPA_o+fBvQO z47Doa8tR}aSSZa)MKhmFn=Xw*_AvzwEv@P5fmAIPqF%)!4U5sBU~ASMOOBMd%&Fta zA>B2SZox6R=$M@=<&EUNygp$#{qkkMF-+IagaXwYbqVuE|0+=6fCK5((O3=S;f5?TF|OsX~jXsNI}djl7*t}C|F+Q zsn_qPpEhh#(XL@Ll8j@;PuYY)7}4DfxsiG}DrUSx!+qGQAY#exrDfj%7147H+cdlr z_j8_}%PCkEWX;oBs`Y3CRr#QXPNWpXb+SLv?e_|&`R&@WrW~u^ltYk^Lk_T+M z-0i;++75K7cu2#;=)Qrxv4ZY1rg3$?P@@t~r;lDre;&s{5%kE}f_zCukA_FEiEgGm5ck=0`3qZ;xU z^Y%DsjurAohBbq#siJhSD1^d2G{M$Tz~jVTC^66v1gY>vA1EH>G??8L!{IoJD5)6N zZ~`Y4EUxfQMH<6`AXQchA(7=Ry}lYG$G$}>hEvQdBf!@O@gWr-7Ct{x<#VTP=UL>0 zr=vknem^VPM-{Zsrx&l%_8a6O>+W;xagzb8!)bh6!zb`bA|3O_xMrC-nM$Hq3fexc z;S8Rn=1E(3J}=IcK*<+Ytp`d<^3gR$zReX;nb}l-H#HpW@Xa9^j z?;@1>h@IQVlY*i)9EMkw1xw^%Vvb{LPJUZOf%itl328C&n&;h5upDzUiFpmHE*RjyYuX%X=Srj1~OS zp&&W$9zE+DY7I9Uc5Lb_!lz8QD!I)io=QFS%dlW;Pe63uuJ6Q87t7^T)#ch#tb*P- zc)ha~Sl0*bl9M%do1*$O1~pQ?LT?tXIkvxK70of@py`?{Rh3hhL?z}-XqUP+>>`sf zDXu5BWmrYBvxuibk#}>w;N^f@UxTZ0yoO(^_>G3&;&;3qS9mq8aeLHAruDI*oX#2g zF+Iy05pVW&%$&;Go554kpX4pDSGRI`!`+a!?a@*pIh zk6gm)%%*9qQ80}S3OXZ=k!d6poW)Af+M?hpmUKqj8>7?c2;tEA>;Gy`T*d>y6t+)e zX9$V*DeU$!MIbP(=LHeGLDXU`ceV~4?Ad{Pc)8zz0e&YPLbJr$!CiLH>Z^E$Eh6(# zi`Lihb)v7O{aJj2$QNS|zDbtC_!cdfv&S3z_RQGR9QzK(79;dF)~IMw5mV82jR2ly zcZBY~i|5#iD)cUxX2gANPV+6yzEy3L=xfMKV&7F{`Zv7}HGCem$2KGF=JsJFvMnB@D zkPKduZz8bK#LHN4k&TdKT4)5=5{P`%N8vg7F~?tk?mKyoI0esJgp+9;Rgh`-gWbf2 zA8RUL5|5olZDXWq67M^I{hvZ@USyZc`P;CDpOMYDADi$Xl2mA!g*8;Q*n32x@-!&$ zy@;O>Ntp%D>H@6<3mU?2A&L;AO7BV7?8D9BUY9r_v^Id>U35hr~-+cAZfUJB?9K zd~uO@RNoX_&y<4`G=FRgPxy0R!|AhF(S8-DJ8K#vjWyHwn8@Z&h0rEa*vneCO{m6; z;(f#q=2MIxwHwjP|1|WGo=4Ho&(!05KEV&aGt9ha__g&c_A@4flC&;{;|wGG5`MNBCS!e(0fy{M5cBIA^CghI-$%p%>Ssd0$fr$u8Z(_^Xb{ki)pTXnQtLn!7unL h^5~cReU*PAPk%*3zsDc&C%nm?ID7t#zvAy`{2!9PO;P{= literal 0 HcmV?d00001 diff --git a/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..ae02547 --- /dev/null +++ b/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,17 @@ +com\huangzj\base\cmd\CmdRpcDispatch.class +com\huangzj\base\cmd\GameCommand.class +com\huangzj\base\module\PlayerModule.class +com\huangzj\base\module\ModuleMetricsProvider.class +com\huangzj\base\cmd\GameCommandLookup.class +com\huangzj\base\cmd\CrossRpcInvoker.class +com\huangzj\base\spring\SpringGameCommandRegistry.class +com\huangzj\base\frame\NettyBufUtil.class +com\huangzj\base\module\AbsHostModule.class +com\huangzj\base\cmd\CommandContext.class +com\huangzj\base\module\GeneralModule.class +com\huangzj\base\spring\module\PlayerModuleRegistry.class +com\huangzj\base\frame\LengthPrefixedProtobuf.class +com\huangzj\base\cmd\Cmd.class +com\huangzj\base\cmd\AbstractTypedPbCommand.class +com\huangzj\base\cmd\CommandSource.class +com\huangzj\base\cmd\AbstractCrossToGamePbCommand.class diff --git a/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..dc4c5dd --- /dev/null +++ b/BaseModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,17 @@ +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\AbstractTypedPbCommand.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\frame\LengthPrefixedProtobuf.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\CommandSource.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\module\GeneralModule.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\module\AbsHostModule.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\CommandContext.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\CmdRpcDispatch.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\Cmd.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\spring\module\PlayerModuleRegistry.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\AbstractCrossToGamePbCommand.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\module\ModuleMetricsProvider.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\CrossRpcInvoker.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\GameCommandLookup.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\spring\SpringGameCommandRegistry.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\module\PlayerModule.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\frame\NettyBufUtil.java +F:\coding\comm-framework\BaseModule\src\main\java\com\huangzj\base\cmd\GameCommand.java diff --git a/CrossModule/README.md b/CrossModule/README.md new file mode 100644 index 0000000..043b9e6 --- /dev/null +++ b/CrossModule/README.md @@ -0,0 +1,101 @@ +# CrossModule + +**跨服独立进程**:仅启动 **一个 CmdRpc TCP 服务**(默认 **9200**),处理来源为 **`CommandSource.CROSS_TCP`** 的命令。 +区服通过 **`CrossTcpClient`**(在 ServerModule)作为 **TCP 客户端** 连到本进程。 + +## 进程职责 + +| 职责 | 说明 | +|------|------| +| 监听 TCP | `CrossTcpServer` 在 `ApplicationReadyEvent` 后 `bind(cross.tcp.port)` | +| Pipeline | `CrossTcpChannelInitializer`:`LengthPrefixedProtobuf` 解码 + `CmdRpcTcpFrameHandler` | +| 命令路由 | `CrossGameCommandRegistry` 只注册 `@Cmd(source=CROSS_TCP)` 的 Bean | +| 链路安全(可选) | `CrossLinkAcceptProperties`:`cross.link.expected-token` 非空时校验注册 token | + +## 网络拓扑 + +```mermaid +flowchart LR + subgraph Zone["ServerModule"] + CC[CrossTcpClient] + end + subgraph Cross["CrossModule :9200"] + XT[CrossTcpServer] + PL[pipeline] + REG[CrossGameCommandRegistry] + end + CC <-->|单 TCP 长连接 长度前缀+CmdRpcEnvelope| XT + XT --> PL --> REG +``` + +## 入站 Pipeline(与 BaseModule 一致) + +```text +Socket + → LengthFieldBasedFrameDecoder(由 LengthPrefixedProtobuf 配置) + → CmdRpcTcpFrameHandler + → CmdRpcChannelDispatch(linkSource = CROSS_TCP) + → GameCommand.execute + → 编码响应帧写回 +``` + +跨服侧 **`CrossRpcInvoker` 传 `null`**:跨服命令里 **不应** 再同步 `roundTrip` 回调区服(Demo 未实现跨服主动调区服)。 + +## 已实现的 `CROSS_TCP` 命令 + +### 业务:Service_2 / Method2 + +- **`CrossForwardCommand`**(`AbstractTypedPbCommand`) + - 入参:`CrossForwardCts` + - 出参:`CrossForwardStc` + - Demo 逻辑:给 `trace` 加前缀并写入 `cross_time_ms`。 + +### 链路:Service_4(注册 / 心跳) + +| method | 命令类 | 作用 | +|--------|--------|------| +| Register | `CrossLinkRegisterCommand` | 校验 `server_id`、可选 `expected-token` | +| Heartbeat | `CrossLinkHeartbeatCommand` | 回显 `client_time_ms`,写入 `cross_time_ms` | + +```mermaid +sequenceDiagram + participant Z as 区服 CrossTcpClient + participant X as CrossModule + Z->>X: Service_4 Register + link_seq + CrossLinkRegisterCts + X-->>Z: 同 link_seq + CrossLinkRegisterStc(ok/message) + loop 每 heartbeat-interval-ms + Z->>X: Service_4 Heartbeat + link_seq + X-->>Z: CrossLinkHeartbeatStc + end + Z->>X: Service_2 Method2 + link_seq + CrossForwardCts + X-->>Z: CrossForwardStc +``` + +## 配置(`src/main/resources/application.yml`) + +```yaml +cross: + tcp: + port: 9200 # Netty 监听端口 + link: + expected-token: "" # 非空则须与区服 cross.token 一致 +app: + logging: + dir: logs/CrossModule +``` + +## 启动 + +主类:`com.huangzj.cross.CrossModuleApplication` + +建议 **先于区服** 启动,否则区服 `CrossTcpClient` 预热与心跳会失败(日志告警),待跨服起来后下次业务或心跳会重连。 + +## 日志 + +`logback-spring.xml`:控制台 + 按级别分文件(`info.log` / `error.log`),目录由 `app.logging.dir` 指定。 + +## 扩展跨服 RPC + +1. 在 **ProtoBufModule** 增加 `service/method` 与消息体。 +2. 在本模块新增 `@Cmd(source=CROSS_TCP, ...)` 的 `GameCommand` 或 `AbstractTypedPbCommand`。 +3. 若需强类型自动解码,使用 **`AbstractTypedPbCommand`**;启动时 **`ProtoRegistryAutoConfigurer`** 会为跨服进程注册对应 `ProtoInfo`。 diff --git a/CrossModule/pom.xml b/CrossModule/pom.xml new file mode 100644 index 0000000..c1765ae --- /dev/null +++ b/CrossModule/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + + + huangzj + comm-framework + 0.0.1-SNAPSHOT + ../pom.xml + + + CrossModule + jar + CrossModule + + + + huangzj + ProtoBufModule + ${project.version} + + + huangzj + BaseModule + ${project.version} + + + org.springframework.boot + spring-boot-starter + + + io.netty + netty-all + + + org.projectlombok + lombok + true + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + com.huangzj.cross.CrossModuleApplication + + + + + diff --git a/CrossModule/src/main/java/com/huangzj/cross/CrossModuleApplication.java b/CrossModule/src/main/java/com/huangzj/cross/CrossModuleApplication.java new file mode 100644 index 0000000..793e30e --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/CrossModuleApplication.java @@ -0,0 +1,18 @@ +package com.huangzj.cross; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.ConfigurationPropertiesScan; + +/** + * 跨服独立进程:只起 TCP + 命令注册,记得先让它跑起来区服才能 proxy。 + */ +@SpringBootApplication(scanBasePackages = "com.huangzj") +@ConfigurationPropertiesScan(basePackages = "com.huangzj") +public class CrossModuleApplication { + + /** 轻量进程,一般先于区服启动。 */ + public static void main(String[] args) { + SpringApplication.run(CrossModuleApplication.class, args); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossForwardCommand.java b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossForwardCommand.java new file mode 100644 index 0000000..ef46220 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossForwardCommand.java @@ -0,0 +1,26 @@ +package com.huangzj.cross.cmd; + +import com.huangzj.base.cmd.AbstractTypedPbCommand; +import com.huangzj.base.cmd.Cmd; +import com.huangzj.base.cmd.CommandContext; +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.cmd.gen.CrossForwardCts; +import com.huangzj.cmd.gen.CrossForwardStc; +import com.huangzj.cmd.gen.PbService; +import com.huangzj.cmd.gen.Service2_Method; +import org.springframework.stereotype.Component; + +/** 跨服示例:{@link PbService#Service_2} + {@link Service2_Method#Method2}。 */ +@Component +@Cmd( + source = CommandSource.CROSS_TCP, + serviceId = PbService.Service_2_VALUE, + methodId = Service2_Method.Method2_VALUE) +public class CrossForwardCommand extends AbstractTypedPbCommand { + + @Override + protected void run(CommandContext ctx, CrossForwardCts cts, CrossForwardStc.Builder stcBuilder) { + // Demo:给 trace 加前缀便于区分「跨服加工」;生产可在此落库、转发其它服等 + stcBuilder.setTrace("cross:" + cts.getTrace()).setCrossTimeMs(System.currentTimeMillis()); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossGameCommandRegistry.java b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossGameCommandRegistry.java new file mode 100644 index 0000000..1755d35 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossGameCommandRegistry.java @@ -0,0 +1,18 @@ +package com.huangzj.cross.cmd; + +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.base.spring.SpringGameCommandRegistry; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Component; + +/** + * 跨服进程只认 {@link CommandSource#CROSS_TCP} 的命令,别的来源不会进这张表。 + */ +@Component +public class CrossGameCommandRegistry extends SpringGameCommandRegistry { + + /** 启动时扫 Bean,只收集带 {@code @Cmd(source=CROSS_TCP)} 的实现。 */ + public CrossGameCommandRegistry(ApplicationContext applicationContext) { + super(applicationContext, CommandSource.CROSS_TCP); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.java b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.java new file mode 100644 index 0000000..c704062 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.java @@ -0,0 +1,26 @@ +package com.huangzj.cross.cmd; + +import com.huangzj.base.cmd.AbstractTypedPbCommand; +import com.huangzj.base.cmd.Cmd; +import com.huangzj.base.cmd.CommandContext; +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.cmd.gen.CrossLinkHeartbeatCts; +import com.huangzj.cmd.gen.CrossLinkHeartbeatStc; +import com.huangzj.cmd.gen.PbService; +import com.huangzj.cmd.gen.Service4_Method; +import org.springframework.stereotype.Component; + +/** 区服 ↔ 跨服长连接心跳(仅 {@link CommandSource#CROSS_TCP})。 */ +@Component +@Cmd( + source = CommandSource.CROSS_TCP, + serviceId = PbService.Service_4_VALUE, + methodId = Service4_Method.Heartbeat_VALUE) +public class CrossLinkHeartbeatCommand extends AbstractTypedPbCommand { + + @Override + protected void run(CommandContext ctx, CrossLinkHeartbeatCts cts, CrossLinkHeartbeatStc.Builder stcBuilder) { + // 原样回显客户端时间,便于区服侧算 RTT;cross_time_ms 为跨服处理时刻 + stcBuilder.setClientTimeMs(cts.getClientTimeMs()).setCrossTimeMs(System.currentTimeMillis()); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkRegisterCommand.java b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkRegisterCommand.java new file mode 100644 index 0000000..79e54c2 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/cmd/CrossLinkRegisterCommand.java @@ -0,0 +1,44 @@ +package com.huangzj.cross.cmd; + +import com.huangzj.base.cmd.AbstractTypedPbCommand; +import com.huangzj.base.cmd.Cmd; +import com.huangzj.base.cmd.CommandContext; +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.cmd.gen.CrossLinkRegisterCts; +import com.huangzj.cmd.gen.CrossLinkRegisterStc; +import com.huangzj.cmd.gen.PbService; +import com.huangzj.cmd.gen.Service4_Method; +import com.huangzj.cross.config.CrossLinkAcceptProperties; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +/** + * 区服 TCP 连上跨服后的注册握手(仅 {@link CommandSource#CROSS_TCP})。 + */ +@Component +@RequiredArgsConstructor +@Cmd( + source = CommandSource.CROSS_TCP, + serviceId = PbService.Service_4_VALUE, + methodId = Service4_Method.Register_VALUE) +public class CrossLinkRegisterCommand extends AbstractTypedPbCommand { + + private final CrossLinkAcceptProperties acceptProperties; + + @Override + protected void run(CommandContext ctx, CrossLinkRegisterCts cts, CrossLinkRegisterStc.Builder stcBuilder) { + String expected = acceptProperties.getExpectedToken(); + // 跨服未配置 expected-token 时不校验,方便本地多区服联调;生产环境建议两边配置一致 + if (StringUtils.hasText(expected) && !expected.equals(cts.getToken())) { + stcBuilder.setOk(false).setMessage("token mismatch"); + return; + } + // server_id 用于日志、路由扩展;空则拒绝,避免匿名连接占坑 + if (!StringUtils.hasText(cts.getServerId())) { + stcBuilder.setOk(false).setMessage("server_id required"); + return; + } + stcBuilder.setOk(true).setMessage("ok " + cts.getServerId()); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/config/CrossLinkAcceptProperties.java b/CrossModule/src/main/java/com/huangzj/cross/config/CrossLinkAcceptProperties.java new file mode 100644 index 0000000..1ecce54 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/config/CrossLinkAcceptProperties.java @@ -0,0 +1,17 @@ +package com.huangzj.cross.config; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 跨服侧:区服注册时可选的 token 校验(为空则不校验)。 + */ +@Getter +@Setter +@ConfigurationProperties(prefix = "cross.link") +public class CrossLinkAcceptProperties { + + /** 非空时须与区服 {@code cross.token} 一致才允许注册。 */ + private String expectedToken = ""; +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/config/CrossTcpProperties.java b/CrossModule/src/main/java/com/huangzj/cross/config/CrossTcpProperties.java new file mode 100644 index 0000000..8b8424b --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/config/CrossTcpProperties.java @@ -0,0 +1,17 @@ +package com.huangzj.cross.config; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 跨服进程自己监听的 TCP 端口,长度前缀 + Protobuf 那一套。 + */ +@Getter +@Setter +@ConfigurationProperties(prefix = "cross.tcp") +public class CrossTcpProperties { + + /** Netty 监听端口,长度前缀 + protobuf 帧。 */ + private int port; +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpChannelInitializer.java b/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpChannelInitializer.java new file mode 100644 index 0000000..0c55e6e --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpChannelInitializer.java @@ -0,0 +1,29 @@ +package com.huangzj.cross.net; + +import com.huangzj.base.cmd.CommandSource; +import com.huangzj.base.cmd.ProtoRegistry; +import com.huangzj.base.frame.LengthPrefixedProtobuf; +import com.huangzj.base.net.CmdRpcTcpFrameHandler; +import com.huangzj.cross.cmd.CrossGameCommandRegistry; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.socket.SocketChannel; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +/** 跨服 TCP:pipeline 上挂帧解码 + CmdRpc 业务 handler。 */ +@Component +@RequiredArgsConstructor +public class CrossTcpChannelInitializer extends ChannelInitializer { + + private final CrossGameCommandRegistry crossGameCommandRegistry; + private final ProtoRegistry protoRegistry; + + @Override + protected void initChannel(SocketChannel ch) { + ch.pipeline().addLast(LengthPrefixedProtobuf.newTcpFrameDecoder()); + ch.pipeline() + .addLast( + new CmdRpcTcpFrameHandler( + crossGameCommandRegistry, null, CommandSource.CROSS_TCP, protoRegistry)); + } +} diff --git a/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpServer.java b/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpServer.java new file mode 100644 index 0000000..d0b0fe3 --- /dev/null +++ b/CrossModule/src/main/java/com/huangzj/cross/net/CrossTcpServer.java @@ -0,0 +1,95 @@ +package com.huangzj.cross.net; + +import com.huangzj.cross.config.CrossTcpProperties; +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.Channel; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import jakarta.annotation.PreDestroy; +import java.net.BindException; +import java.util.concurrent.TimeUnit; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 跨服侧的 TCP 入口:Spring 起来之后绑端口,应用关掉时把线程组也收干净。 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class CrossTcpServer { + + private final CrossTcpProperties properties; + private final CrossTcpChannelInitializer crossTcpChannelInitializer; + private EventLoopGroup bossGroup; + private EventLoopGroup workerGroup; + private Channel serverChannel; + + /** 等 Spring 容器就绪再绑端口,避免 Bean 还没齐就开始接连接。 */ + @EventListener(ApplicationReadyEvent.class) + public void start() throws InterruptedException { + bossGroup = new NioEventLoopGroup(1); + workerGroup = new NioEventLoopGroup(); + try { + ServerBootstrap b = new ServerBootstrap(); + b.group(bossGroup, workerGroup) + .channel(NioServerSocketChannel.class) + .childHandler(crossTcpChannelInitializer); + serverChannel = b.bind(properties.getPort()).sync().channel(); + log.info("Cross TCP {}", properties.getPort()); + } catch (Exception e) { + if (findBindException(e) != null) { + shutdownGroupsOnly(); + int port = properties.getPort(); + throw new IllegalStateException( + "跨服 TCP 端口 " + + port + + " 已被占用(Address already in use)。请关闭占用该端口的进程,或在 application.yml 里修改 cross.tcp.port。" + + " Windows 可查:netstat -ano | findstr :" + port, + e); + } + shutdownGroupsOnly(); + throw e; + } + } + + private static BindException findBindException(Throwable t) { + while (t != null) { + if (t instanceof BindException) { + return (BindException) t; + } + t = t.getCause(); + } + return null; + } + + /** 绑定失败时尚未 assign serverChannel,只收掉线程组,避免泄漏。 */ + private void shutdownGroupsOnly() { + if (bossGroup != null) { + bossGroup.shutdownGracefully(0, 1, TimeUnit.SECONDS).syncUninterruptibly(); + bossGroup = null; + } + if (workerGroup != null) { + workerGroup.shutdownGracefully(0, 1, TimeUnit.SECONDS).syncUninterruptibly(); + workerGroup = null; + } + } + + /** 进程退出时把 channel 和线程组都关掉,别留一堆 Netty 线程 hanging。 */ + @PreDestroy + public void stop() throws InterruptedException { + if (serverChannel != null) { + serverChannel.close().syncUninterruptibly(); + } + if (bossGroup != null) { + bossGroup.shutdownGracefully(0, 1, TimeUnit.SECONDS).syncUninterruptibly(); + } + if (workerGroup != null) { + workerGroup.shutdownGracefully(0, 1, TimeUnit.SECONDS).syncUninterruptibly(); + } + } +} diff --git a/CrossModule/src/main/resources/application-dev.yml b/CrossModule/src/main/resources/application-dev.yml new file mode 100644 index 0000000..b8dd09d --- /dev/null +++ b/CrossModule/src/main/resources/application-dev.yml @@ -0,0 +1,10 @@ +# 开发环境 +cross: + tcp: + port: 9200 + link: + expected-token: "" + +app: + logging: + dir: logs/CrossModule diff --git a/CrossModule/src/main/resources/application-prod.yml b/CrossModule/src/main/resources/application-prod.yml new file mode 100644 index 0000000..7ea2288 --- /dev/null +++ b/CrossModule/src/main/resources/application-prod.yml @@ -0,0 +1,10 @@ +# 部署环境:监听端口、注册校验 token、日志目录建议走环境变量 +cross: + tcp: + port: ${CROSS_TCP_PORT:9200} + link: + expected-token: ${CROSS_LINK_EXPECTED_TOKEN:} + +app: + logging: + dir: ${APP_LOG_DIR:/var/log/comm-framework/cross} diff --git a/CrossModule/src/main/resources/application.yml b/CrossModule/src/main/resources/application.yml new file mode 100644 index 0000000..f0345b6 --- /dev/null +++ b/CrossModule/src/main/resources/application.yml @@ -0,0 +1,5 @@ +spring: + application: + name: cross-module + profiles: + active: ${SPRING_PROFILES_ACTIVE:dev} diff --git a/CrossModule/src/main/resources/logback-spring.xml b/CrossModule/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..799779d --- /dev/null +++ b/CrossModule/src/main/resources/logback-spring.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + ${LOG_DIR}/info.log + + ${FILE_LOG_PATTERN} + UTF-8 + + + INFO + + + ERROR + DENY + NEUTRAL + + + ${LOG_DIR}/info.%d{yyyy-MM-dd}.%i.log.gz + 10MB + 14 + 512MB + + + + + + ${LOG_DIR}/error.log + + ${FILE_LOG_PATTERN} + UTF-8 + + + ERROR + ACCEPT + DENY + + + ${LOG_DIR}/error.%d{yyyy-MM-dd}.%i.log.gz + 10MB + 30 + 512MB + + + + + + + + + + diff --git a/CrossModule/target/classes/application-dev.yml b/CrossModule/target/classes/application-dev.yml new file mode 100644 index 0000000..b8dd09d --- /dev/null +++ b/CrossModule/target/classes/application-dev.yml @@ -0,0 +1,10 @@ +# 开发环境 +cross: + tcp: + port: 9200 + link: + expected-token: "" + +app: + logging: + dir: logs/CrossModule diff --git a/CrossModule/target/classes/application-prod.yml b/CrossModule/target/classes/application-prod.yml new file mode 100644 index 0000000..7ea2288 --- /dev/null +++ b/CrossModule/target/classes/application-prod.yml @@ -0,0 +1,10 @@ +# 部署环境:监听端口、注册校验 token、日志目录建议走环境变量 +cross: + tcp: + port: ${CROSS_TCP_PORT:9200} + link: + expected-token: ${CROSS_LINK_EXPECTED_TOKEN:} + +app: + logging: + dir: ${APP_LOG_DIR:/var/log/comm-framework/cross} diff --git a/CrossModule/target/classes/application.yml b/CrossModule/target/classes/application.yml new file mode 100644 index 0000000..f0345b6 --- /dev/null +++ b/CrossModule/target/classes/application.yml @@ -0,0 +1,5 @@ +spring: + application: + name: cross-module + profiles: + active: ${SPRING_PROFILES_ACTIVE:dev} diff --git a/CrossModule/target/classes/com/huangzj/cross/CrossModuleApplication.class b/CrossModule/target/classes/com/huangzj/cross/CrossModuleApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..74f467934e3a29bd06966bfa7e6e35fd29a72baf GIT binary patch literal 900 zcma)5O>fgc5Ph2_b($KQrch`Ll-|-D>Km6pB^n6{DTRojaOi36Y@JQ*U2DAt#J}PM z;=m8!Mgrl=NvCL`LU%Fmm!-&x=Gn&$2{D+)AxF=wQ=>@8cG3 zGYqtegFG`*#g~Ss;)6CAw7QgWVR-o0aO8I3AwzSd=YnBtER}dwq@gfxT`og!tRtSxxRK6YIh%GNbGpp< ze^GE9QZDH>yZyT1XB6iqrkXo7VdCUm*oB@?xWmi}Ly4WKE=(j|NH^s{J@_XMIEKA9 zg|adgGnq>VfKu9)ooe5*5pe?#)$}P|2kAF%{sF@#D8sP{Yt*(0-U~YLyZjlv`W~5t# zFJPa`aF?VD13tD(Stg)|9kMoX2Y0E6JN%?92DE$L;43!X-JEy-3DBjc+m#w^?BX8z i@6+2Nen~a3SIT`HklrWz0kwX30hZ$t4(a>x@9$qT{PrFI literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/cmd/CrossForwardCommand.class b/CrossModule/target/classes/com/huangzj/cross/cmd/CrossForwardCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..fe3fc6c3b07a5f27bd6f899d407b73ec93212a7b GIT binary patch literal 2375 zcmb7G+fv&`82%O;WLyUbhbBOqHVH{>0}(y9F`)$|G*A-=cA;%9I%|1j1hUq%S`)}! z-=eS48`{Z5C)atXPXDzWV-*ty&q%A?|NGB}^_zcR{R7|uo~6-;goR`V{TN`Fb!FY& zYx1D>a^J4-P}pw0YA;tpt+=bp#|=^4syMP<=RuWWV9^Uay~L2n=62FZVbDT4gZGeO zxZN$u2&sv{c9aamRjFQZRdsa8kg5q?CeeanJew=-^Fwa?q}?uQN@`hYKDReS81kBka&QjuZ7&o|?9-2qT+z@THKB#C7{*RZxI!zZl{2ueL6U5%LWibZs6^=_+%o3$DU6M`ZidD~4$@Ly}eb2bTFuC0fG}6zaazaT~as|^P}UmQ?C+n zAZ%H~FmnznYNE(y!Vfyzo2AlkWoL`NL!k~mSFBYNG$Q+GK2aG^K}35-1+pTgHe!f#ggg{uqQbG$9W;l5w;v?!#o!C<+jhwqcinYADg%JF#^ z3aUzq(uJ20H5Ex{ccFz+o8^KIu<#SZv>BG?04?m&95@r*UO}_)3&V|fL#b4v2;(Mh z(S>b(2{3bI)B6+J*|aiR`}2Q+{Yf8v$kN-8fidLhorwU*W0rPFGw}&!m^lec(mF9e zcLM7bt^g;v`Zunf;KSWhVdk#_=;9j3WJ_Q^VrmN{cFbYErDOv4$RdNDzydxc@t@K6 zl>`AmB+wy79+Cy06UkWc4T&-q4CQC%UL!UC8lxw;d8#_{W2noIp|;vDh$~4-zwD?O zArK+2Z{zQgxeUc(BUH9W*4BBV&(Dm_I!q1_b0 WMzM*fxHM&`P-WUlr>OW>x-oI#2l!FO zJB$mB8nsQ@dv1Gf&%M1buTReab}^quANo^BWHEpw!;+_cr`6%Ad3Wj5c_BO z<{2G^asH9@t*q^Tt68lvBwXE~I_An!iKC8R7v_}L+vF*fwa42vZe)btoeA5LA;adU zJbo8fq;UL8HKI8GtRF-EP}r7kobagJRv1!~iJM_xMzR;&9}2W_$*(!XOr@i&^hHgE zlJY7krETwvDA3xsazc7VXxj}$)O>+fLfIk~F-)Bl4MuYaIcnZKp%VJZ0@7>i4`7c- w-4p1;D6N^^L7r%%C=i~EFJcVigouI(@-a-2J-`S=#OdBTgIU^>bT|jR0T<8mj{pDw literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.class b/CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkHeartbeatCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..2eb305c69709e2d650d74fd66fd6351a6621392c GIT binary patch literal 1941 zcmb7F(Q?~F6g_LZQ6f~wOemy7#^5D^HB_UrNptACUqaA)$Toe?mhS3UH$X#Uw;F*hi`3EP_n0E*z7S~ReSBcys)G;l5rbO_$iVWnzb0G9nXk$$W%zZz zBxO)9uYh?X)%-xWOQ17LF)DN@$?fJYL(LOCPU)u7^6#^x%jJ&WjcH|SQv`mz>&wW@ zj}~isFQOVRm*aY~>^Aj9pbr>sly;sbJ4chBg%bK~{S3C!!JvO`kGOR>AJiRNT%hV=(TT#;*O{a;{Z`UBNa*X&{YnXZc0Nah4(D%`%4~N;CIkK`GCg$l)N^pl2xFLe znx&d9j@?K_)MaaFDzu-=XJ~B-8M>-3qcnVG>hZIX&s{pQk_%1OnM-G-FH$2!YD@wVw(arq(&_(rcv*KUnroEn2#q?lJ2 zoQ*W)(u;kiI2CPe**Ue?}hBmSAh+*~&Ag<93RiRjcDwz2<(EA$A zTpAgT=URV&{Z1bhd`xd+2BvYH-cA9)9B$C8X0A9wnaw{ES&hcV(&8bkL!AE;(}%eH z!wHZ19RZgyiJ6?MRp5`fXeVyslbpYSc{Fo$11&5N^CIm$UnKy@1X@Jn0XbhHlW~5R zsEqS^Yhm#f#+P29eu&u<*M)@okc9e?+gr4&Mo!&BtHQF0k!MzQv;yxLs2vEm2SSO(#9%6lL;y(pI9FqV5 literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkRegisterCommand.class b/CrossModule/target/classes/com/huangzj/cross/cmd/CrossLinkRegisterCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..3f6d4a23b1b5fb3c492227c5452988106af53d4d GIT binary patch literal 3019 zcmb7G-&Yey6#hm6OX3O?QHxZ;ikbv5)*saxrNtUmW=NJKyK#47vCn<$ zKhXBS@SK+R_|W5XU;FR$^z@re3<)HN54$sS=gyt)eskyE`TM_@e*w6KS`-J+V<2Lp z7kvU3Y_F0k)-1R1!$!*Xy&y>0m3%6rdkc=WCGQaATq$@BIPb_R$ z&#Y9LE~T={ciaN^8o;1|ArtRlSYXog3#p*0r`CO|BER?iQmUq$azpO#V~>+29BCIrag$ac|Z;e(%tsI$)lp>e&P=C#xRQG2F6UhhZFQ?Cvt&4 z`Lt$fG;J7`avO9ytuc&a!oVpL@8h(<#eHGODtq#F%_--lFVGuEwNw(g8h?~%KgVt^ zv@B2e(p!VFvz16CdD`z_E%|k{QpnE%ne*MfL(^x%y1bb_BQc zKp09_aMi$vCa&SSz*H;YIV+Ii?U~I5%C~H_`n)Rh%elZJ(O0=b2a&h-ADxPiv6ZU*4}(a?)S5 za%D<}7d+c4uUWpM#|>db6&=!du^rVL6G@s*+iFwbOxwb4K8M=eCfTOFr}H}al--Q; zOZ!{dN(L{gY-AVh{H|CKIFwbEU0SrN4Kjunr7C*)WlN_OW=$f#)_$ms6#J&^sLx@e zePuUlLca>0S18L=)%TQ_tF5ORcdi}*T_#`WfVAE$c6U>!b%z(iz_P&MZEu@10@18f za4l8y84W+R5!yu8IreY1Derl1`_pVarx^xQEbG;LTh2K;P)~F#Ul+7j0;4N6S2-2A z<^&ESdDeA3Wre=$2HdZ}Xx{A9VZv)%pAXCY6vM&fBvEFpis;7lI zaOy`hD@)nzlhq9AkLon$*m6GK!|WAdBr={DS@p4CskrTVN@tmBJ>-JHK3Fm2U>nHm zWJek%x6jaVpD{-_>RUbk%`riF{&Rt!TQgrnv2OGpD}Gr9lM9|#s#VjwZ$OKrZJ|zl z9n>GU=)W#uEuw~rj8!gY9VJ;@3d}}cX@dTm^RCNRNZASk$q3!pZ@p!lu#z{jfPsp@ zX`Qm)a3u_Q0%Ln98hFaowTs_Qv>9L)IJvhfgQdu;&EZq}5yd?2@r&RyO8F4|7YPHSNANj^hkCdYTmx!r|F2=8;qwezZ6}ue z1DBIizeBv>=m4>R4C%c_LM%t?T1_mmkUijE= zOuxeT7Czc(`fzC447V9*n7+?d5lWVt$cKoW-yFYQa--3$ARD%;c))gyk~Ovux%rn8 tU*QoR&*N)+GmmfagcJR=_Z`1=6gfIhwQ)Eo@qt)|i&9?{RrpXC{U5LTWX1ph literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/config/CrossLinkAcceptProperties.class b/CrossModule/target/classes/com/huangzj/cross/config/CrossLinkAcceptProperties.class new file mode 100644 index 0000000000000000000000000000000000000000..c720bfb7828bfae48c6d2c7c966ec5eaa42b1c74 GIT binary patch literal 808 zcmb7C$!-%t6s#U^@kShz1j3Stn{A}Dgt)Lukrhq`A`PavH`%`Mx(+krT+j z)UkH21u~6hcMDqrD58XN0hJ1>xFzr;GBY`vlk{mUBWu!BMkXHUp=^85(edOYid5px ztVxu0TBQP2wMeM1`WI%RVu5<++WOpC9S>g!WZR~%1hy%m-pyw{WiP_slrQy;iNa|& zwA$nKW7dr{m7jM0KOcJ4hRU68=Cs>r{w=FodLweLaWk;lrRZDbMy7uj+Hj_vvP`dZ zZss;pZ?v!D@Shzz_U#Zj_%M&1o~f=*H7h-dW8*@nO-!ZJjBU zeE*$VIGJ2^T(*}ZncF4%dJ?QWpI9}}3#PUl-tm+J!z0c(;2#m(Ic455yz`TA-zIv- zcYXzwTi+pC^};t4zYqqfabHoZ$P(=kS5~2@<2I4NF80{sma(t3Xtv1T)NS&hJ5@^bu!GzoA(5a1r}^DNW)0oTJ6 GhkpRsbh{h? literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/config/CrossTcpProperties.class b/CrossModule/target/classes/com/huangzj/cross/config/CrossTcpProperties.class new file mode 100644 index 0000000000000000000000000000000000000000..3cf3392bee9839b306afb0f1cccba42e1ec8c165 GIT binary patch literal 692 zcmb7B%We}f6g|#s$OD@4XeosSyS9jWPXP% zYr<23`quWijVov;==9JCBi|0euh2i$;`puH>!~>rXjjVa zhBU{0>R;o}30nRDqdH@L9qmtkCu@3ed+YGb)Z7w7-MT zki6&Pui*Ya!8dV>RT2D%K2Fx!**r(`Cv~?%uU%AJQpd644gzb$H3gGC3)U;*+t{G* M^6?JOW`Vok0MmSu*8l(j literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/net/CrossTcpChannelInitializer.class b/CrossModule/target/classes/com/huangzj/cross/net/CrossTcpChannelInitializer.class new file mode 100644 index 0000000000000000000000000000000000000000..53a91b0ee9c4d61be7f332efaa0bb35dcbeeaa29 GIT binary patch literal 2023 zcma)7ZFAE`5PnWJ5q1P|O-Y=#G%4Z5b^uY@LR%%F;9$y(0Z*I>!}LQ(kuLTTTc?p^ zAk6fK^k=kFN@=H^e&$Cp-IEk!W4n_tUftgAKD*EEp5MIv^B(}~xH}6C868;z$1uZi zUP#m9QFLHB9ozGG*9@hz&m*%Hi&~;&IPMFdcZJ6p&Xp^TF|X9HnOa#ojx#JxGyC55 z+%6CD$YWNAVc-N#GF*0K&+PPVul?eQxod~q+zad;Hyhk*N1bNC_r!DVHUk;S-Tod! z(c{my9lx%OHn}5R9x&V(&W^HIIHtOD(l~X&yY6j@?hZRzvnb#L9Yq7D@FBzUwA2qP zWYBHbZP;PNP%r;5m65bm>qwltU<)<94k{V>JRe*@HkzIA`EIE-;+%)g-*j zcuIhHUJk9SJWiu*pn@vH%$guFHW+>`PsSc9vmxbv-?t{)#S~M2?s-q;J`bi@4c9)! zW;EH#P9B$VS;rNXvB|J9Z7N5)nkg&C5ZF~wDmx6>8f^~4 zT!S|MLBF@lgKc}aOPXRsI(B!*4um?V%52mTA;Yy1mX0!s7K7$=7%m<$HHN}{9(APK zwAJ!QJRsOdqg_mJ|950Z@*GUu`#oSdGl8;{&zPnBo#zhsBO$#|$9D{;p4d-qvr7+| zIk=%=Z;7^NNBw~4doW(;_RB8;1TYWDQJ-#DC zLH)bsc`~x&0_X*5$e?Y8ejvPd`~W|b!M+(1$y`PUJ~!#D@TJGS$f8v*(S(BjQ;O;l zqOYP_PLdg9)%4NLmvs7xUV4q>`s!;i8mqsdKhFF?l)T2AhDXENzi|3-^*1cAUvY-y z$}3zJMKV{`x=DrBBy zb)RI0baT~LSgo$U#6tDbORT)ZnIUt!j$BDIFwsKs&%f1T CY&&lN literal 0 HcmV?d00001 diff --git a/CrossModule/target/classes/com/huangzj/cross/net/CrossTcpServer.class b/CrossModule/target/classes/com/huangzj/cross/net/CrossTcpServer.class new file mode 100644 index 0000000000000000000000000000000000000000..e95e73badb64fa2189a7b1c11a70c673966fc4e0 GIT binary patch literal 4512 zcma)AZCe!A8NQDq1M4UVjYOidMx(eW8*SRe;7f27#eh;lj5ReKmVq4^X0|i4ASP*E znl##I?Ta;uu}zxP#?~gj0-`qBFMjCXXi;|g(L{YwBF@TGzo0?Q3MYU!Rg6pbe|%hJuL#gUzcy>&phycXL|ZgcEZG6aDl z6|+z*P`uu-3~wU`YMWPfmZAiu3PLJoLlsySxBH`slxFoFJ{XNVw(Cmu(U^Sdh$q{1 zXFzuZO1t>(YZh42l80fk@djyquC!hzFtawWIZs7}G&pt<#iLjtFsoN?QXoSeccW7C?i7#{|}9kWO&#+VMWJ zm3BdZy4@d(1>TXM7pYi`8UZD}N?=`W%Ry~Gi<+c88Z$N5Z77JMu}jhs_cBB@NbfCC z@i>+WRQv9tlhU@D>19JRjl$U%v<_$7pn6L}KM%?G}ITelAEHKCQ^E7Rgp)oCff7uol zThT-UOuJX0qQ!Q4qpsQW)WK+r-P@}>4JFvl81R`7cf{JlFTWbX4m_`*MMW!i3e3yK zZ?om;Tti|9G&7~|>JgYP8O)O)X>It9g54_G(IHSi)huZ;tR7onMQ(nydyZlCHst8r z)pbyhdkrf)6?6(zW({pU6xWlUVOt@l$qOp>;k$&|L$7Y;m6;WY<{IcoIQF2{W$KJ! zUzaR^lNK=GO7NnJ@5zEz;U-dEw>@b2CCuGrnL`R*5~#`IXf{o~S2No^&C@ehD_F%f z6D`BL0J^NGWH*uvKA)YO?U0}ZRTkb< z2nW%pz*Nx>YZ8qa4FV-hmY9}ubz){PX1AD;VL&DE0|kx>7fh-}zD&w9%qWvEo^l+X zOVJLaU*E&}#3*Us8r!vVOFIb*)J-SKa2dd$f&Q^91?{S~~b;D;(+!|SN?vJ&L&se!|Sk`YFhj5RT!vf}g55fuGTpQ!}rL zhm7qIVJZC`)Bu4ea^q~`l$yGd5N9!VWjQU1+1-qjvKGVAcc%Kgbf-gRm0w`un%Sv2 zhI~&CiY_)E*)lc#(M!cizg&xE0YP<-&S-W~1tzVaI zkIV>9KjcMq*{nr__%&Qlw^(yYq+dVrIA?qRNRzAZRM;rFU2i3vxwD9o_bZl6o{| z_a|+ObQ6DhrjZIraLbBuDTK?oqTs45&BKhztk(@|!0ywdL5XFJCexWjc|SKf(t?4~ zpdoUXu@~=4C3DZM{8~L}VF%$B5Z|8@?h_|p&QMxKOf$`P!_#?mj|$wrKYH%&ndAQ1 zeee8*@e`khMR@#8mwSXUCXm%B^t;;2RTS!9apS^$r%^*7(|rE%#%Dqo~Djx@GJJdC#faE zz1N_b@26iPhuIYwUaAwW6TGw23l|yzo(3ZHH)jt6cWov!Exz&Hhh$mc8~iG2O7z= zat90Ltu%BQ_83yd^wi4&dm}p$bs3K1CwmdudbfrSc&rwM9QNMe@r{Hm3NsrWsy-F ziPR0FHnM6MVQGJcAF9FTs(d@)Ks0TKi~MAjn=g~!#9SfWS2}~k + + + + + + + + + + ${LOG_DIR}/info.log + + ${FILE_LOG_PATTERN} + UTF-8 + + + INFO + + + ERROR + DENY + NEUTRAL + + + ${LOG_DIR}/info.%d{yyyy-MM-dd}.%i.log.gz + 10MB + 14 + 512MB + + + + + + ${LOG_DIR}/error.log + + ${FILE_LOG_PATTERN} + UTF-8 + + + ERROR + ACCEPT + DENY + + + ${LOG_DIR}/error.%d{yyyy-MM-dd}.%i.log.gz + 10MB + 30 + 512MB + + + + + + + + + + diff --git a/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..5b594a3 --- /dev/null +++ b/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,7 @@ +com\huangzj\cross\config\CrossTcpProperties.class +com\huangzj\cross\net\CrossTcpServer$1.class +com\huangzj\cross\cmd\CrossGameCommandRegistry.class +com\huangzj\cross\CrossModuleApplication.class +com\huangzj\cross\net\CrossTcpCommandHandler.class +com\huangzj\cross\net\CrossTcpServer.class +com\huangzj\cross\cmd\CrossForwardCommand.class diff --git a/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..e309ab0 --- /dev/null +++ b/CrossModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,6 @@ +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\cmd\CrossGameCommandRegistry.java +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\config\CrossTcpProperties.java +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\CrossModuleApplication.java +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\net\CrossTcpServer.java +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\cmd\CrossForwardCommand.java +F:\coding\comm-framework\CrossModule\src\main\java\com\huangzj\cross\net\CrossTcpCommandHandler.java diff --git a/ProtoBufModule/README.md b/ProtoBufModule/README.md new file mode 100644 index 0000000..fd6725c --- /dev/null +++ b/ProtoBufModule/README.md @@ -0,0 +1,84 @@ +# ProtoBufModule + +本模块承载 **RPC 与业务消息的二进制契约**:所有 TCP 链路上传输的业务体都通过此处定义的 `protobuf` 生成 Java 类(包名 `com.huangzj.cmd.gen`)。 + +## 职责 + +- 维护 `src/main/protobuf` 下的 `.proto` 源文件。 +- Maven `protobuf-maven-plugin` 在 `generate-sources` 阶段生成 Java 源码到 `target/generated-sources/protobuf/java`。 +- **其它模块**(BaseModule、ServerModule、CrossModule)仅依赖本模块打出的 jar,不重复拷贝 `.proto`。 + +## 目录结构(源文件) + +```text +src/main/protobuf/ +└── serverProto/ + ├── cmd_rpc.proto # CmdRpcEnvelope、各 CTS/STC、Method 枚举 + └── pb_service.proto # PbService(Service_1 ~ Service_4) +``` + +> 历史上独立的 `CrossProto` 已移除;跨服与区服共用 **`demo.cmd`** 包下的消息,通过 **service/method + CommandSource** 在 Java 侧区分语义。 + +## 网络层核心消息:`CmdRpcEnvelope` + +```protobuf +message CmdRpcEnvelope { + uint32 service_id = 1; + uint32 method_id = 2; + bytes payload = 3; // 具体 CTS 的序列化字节 + int32 cross_ret = 4; // 预留/透传 + uint32 link_seq = 5; // 区服↔跨服长连接多路复用序号(客户端 TCP 可为 0) +} +``` + +### `link_seq` 的作用(与网络实现配合) + +```mermaid +sequenceDiagram + participant Z as 区服 CrossTcpClient + participant X as 跨服 TCP + Note over Z,X: 单条 TCP 上可能同时存在多帧在途 + Z->>X: 请求 A (link_seq=101) + Z->>X: 请求 B (link_seq=102) + X-->>Z: 响应 B (link_seq=102) + X-->>Z: 响应 A (link_seq=101) +``` + +- 区服在 **`CrossTcpClient`** 内为每次 `roundTrip` / 注册 / 心跳分配 **非 0** 的 `link_seq`。 +- 跨服命令通过 **`AbstractTypedPbCommand`** 回包时 **原样带回** 请求信封中的 `link_seq`,以便客户端把响应与 `CompletableFuture` 对应。 + +## 服务与方法枚举 + +| PbService | 用途 | +|-----------|------| +| Service_1 | 路径 1 示例(Echo) | +| Service_2 | 跨服业务 Method2(`CrossForward*`) | +| Service_3 | 路径 3 区服对客户端暴露的中转接口 | +| Service_4 | **链路控制**:Register、Heartbeat(仅区服→跨服长连接上使用) | + +`Service4_Method`:`Register`、`Heartbeat`,载荷分别为 `CrossLinkRegisterCts/Stc`、`CrossLinkHeartbeatCts/Stc`。 + +## 业务消息(与路径对应) + +- **路径 1**:`CmdEchoCts` / `CmdEchoStc`。 +- **路径 2(客户端侧)**:`CrossProxyCts` / `CrossProxyStc`(区服内会转为 `CrossForward*` 再发往跨服)。 +- **路径 3**:客户端 payload 使用 **`CrossForwardCts`** 形态(与跨服 Service_2/Method2 一致),信封为 Service_3/Method3。 +- **跨服 Service_2/Method2**:`CrossForwardCts` / `CrossForwardStc`。 + +## 生成代码 + +```bash +cd ProtoBufModule +mvn -q generate-sources +# 或使用 genpb.bat(Windows,会探测 Maven) +``` + +生成物加入 `ProtoBufModule` jar,依赖方编译时自动可见。 + +## 扩展约定 + +新增 RPC 时建议: + +1. 在 `pb_service.proto` 增加 `PbService` 枚举值(若新服务号)。 +2. 在 `cmd_rpc.proto` 增加 `ServiceX_Method` 与 CTS/STC `message`。 +3. 执行 `generate-sources` 后,在 **BaseModule** 侧通过 `@Cmd` + `AbstractTypedPbCommand` 或 `GameCommand` 实现逻辑,并由 **`ProtoRegistryAutoConfigurer`** 自动注册 `ProtoInfo`(强类型命令)。 diff --git a/ProtoBufModule/genpb.bat b/ProtoBufModule/genpb.bat new file mode 100644 index 0000000..59c1dd5 --- /dev/null +++ b/ProtoBufModule/genpb.bat @@ -0,0 +1,21 @@ +@echo off +setlocal +cd /d "%~dp0" +set "POM=%~dp0pom.xml" +set "MVN_CMD=" +if defined MAVEN_HOME if exist "%MAVEN_HOME%\bin\mvn.cmd" set "MVN_CMD=%MAVEN_HOME%\bin\mvn.cmd" +if not defined MVN_CMD where mvn >nul 2>&1 && set "MVN_CMD=mvn" +if not defined MVN_CMD for %%I in ( + "C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.7\plugins\maven\lib\maven3\bin\mvn.cmd" + "C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.8\plugins\maven\lib\maven3\bin\mvn.cmd" +) do if exist %%~I set "MVN_CMD=%%~I" +if not defined MVN_CMD ( + echo Set MAVEN_HOME or add mvn to PATH. + exit /b 1 +) +call "%MVN_CMD%" -q -f "%POM%" generate-sources +set "ERR=%ERRORLEVEL%" +if not "%ERR%"=="0" exit /b %ERR% +echo Java sources: %~dp0target\generated-sources\protobuf\java +endlocal +exit /b 0 diff --git a/ProtoBufModule/pom.xml b/ProtoBufModule/pom.xml new file mode 100644 index 0000000..c6f1e06 --- /dev/null +++ b/ProtoBufModule/pom.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + + huangzj + comm-framework + 0.0.1-SNAPSHOT + ../pom.xml + + + ProtoBufModule + jar + ProtoBufModule + + + + com.google.protobuf + protobuf-java + ${protobuf.version} + + + + + + + kr.motd.maven + os-maven-plugin + 1.7.1 + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + 0.6.1 + + ${project.basedir}/src/main/protobuf + com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} + + + + + compile + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.5.0 + + + add-sources + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/protobuf/java + + + + + + + + diff --git a/ProtoBufModule/src/main/protobuf/serverProto/cmd_rpc.proto b/ProtoBufModule/src/main/protobuf/serverProto/cmd_rpc.proto new file mode 100644 index 0000000..132a165 --- /dev/null +++ b/ProtoBufModule/src/main/protobuf/serverProto/cmd_rpc.proto @@ -0,0 +1,93 @@ +syntax = "proto3"; + +package demo.cmd; + +option java_package = "com.huangzj.cmd.gen"; +option java_multiple_files = true; + + +enum Service1_Method{ + Default1 = 0; + Method1 = 1; +} + + +enum Service2_Method{ + Default2 = 0; + Method2 = 1; +} + + +enum Service3_Method{ + Default3 = 0; + Method3 = 1; +} + +/** 区服 ↔ 跨服链路控制(注册、心跳),不经客户端 TCP。 */ +enum Service4_Method { + Default4 = 0; + Register = 1; + Heartbeat = 2; +} + +service Service1Service { + rpc GetUser (CmdEchoCts) returns (CmdEchoStc); +} + + +message CmdRpcEnvelope { + uint32 service_id = 1; + uint32 method_id = 2; + bytes payload = 3; + int32 cross_ret = 4; + /** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 */ + uint32 link_seq = 5; +} + +message CmdEchoCts { + string text = 1; +} + +message CmdEchoStc { + string text = 1; + int64 server_time_ms = 2; +} + +message CrossForwardCts { + string trace = 1; +} + +message CrossForwardStc { + string trace = 1; + int64 cross_time_ms = 2; +} + +message CrossProxyCts { + string trace = 1; +} + +message CrossProxyStc { + string trace = 1; + int64 cross_time_ms = 2; + /** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 */ + string server_note = 3; +} + +message CrossLinkRegisterCts { + string server_id = 1; + string token = 2; +} + +message CrossLinkRegisterStc { + bool ok = 1; + string message = 2; +} + +message CrossLinkHeartbeatCts { + int64 client_time_ms = 1; +} + +message CrossLinkHeartbeatStc { + int64 client_time_ms = 1; + int64 cross_time_ms = 2; +} diff --git a/ProtoBufModule/src/main/protobuf/serverProto/pb_service.proto b/ProtoBufModule/src/main/protobuf/serverProto/pb_service.proto new file mode 100644 index 0000000..6a93970 --- /dev/null +++ b/ProtoBufModule/src/main/protobuf/serverProto/pb_service.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; + +package demo.cmd; + +option java_package = "com.huangzj.cmd.gen"; +option java_multiple_files = true; + +enum PbService { + Default = 0; + Service_1 = 1; + Service_2 = 2; + Service_3 = 3; + Service_4 = 4; +} \ No newline at end of file diff --git a/ProtoBufModule/target/classes/CrossProto/cross_link.proto b/ProtoBufModule/target/classes/CrossProto/cross_link.proto new file mode 100644 index 0000000..9a43887 --- /dev/null +++ b/ProtoBufModule/target/classes/CrossProto/cross_link.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package demo.crosslink; + +option java_package = "com.huangzj.cross.gen"; +option java_multiple_files = true; + +message CrossPing { + string trace = 1; + int32 nonce = 2; +} + +message CrossPong { + string trace = 1; + int32 nonce = 2; + int64 cross_time_ms = 3; +} diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCts$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCts$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e77b8eeeb280ceadd48a453e3e5736890c9d7d1a GIT binary patch literal 2352 zcmcIm-%}e^6#nkA;gYaGN?I)ll~Sw;6xNisYD3YGh7ucSM{GMj-fS+(;$}CqdsA!u zgM6(o)X^Dz_fPV{dhQY_(k0Y~W+rpao;~;6bH4Ly|NQ&c-vQjgb_NE9I7|yE3^U9- zLC0%h*1|bVGF*MT zV+`qz3|n$D3_1)y=HuH=##afNvRU)HJ+-SsDLSP@t?Dx+{m2dcuVu?6Kz^vZN|xT* ze~$AE*OTC_`A>!CHXmxZoxt1Z?d{31`pl7CMYrj=-?Q*OE;3jR4IHIGxx%AlorxZy zmcz7#4=}@UK9cH@zel-?+OoMVqe!$Q!;@rC`tOegc@nn4ewR2dF%**me&p-=p%C2X zM}8cOcNTLNE@PfyPDFz*VYt=D;D0-}z>wP)PlfFUcJ0Bj>vOoOo8e=Ii}`wjMoHIv z0gD_<7Or8L+&rTeiwxPW?wx+-4vR5L#{FFuV~N4k_8BJXt}l0borVm*5e<(dll8z6 z-eVEE`nfMORokVWojkaBe^(}+m4`UbuX z=j6%OW>`u*oIC>7Tp+ZjxQJ%lG^2@#~fvbLXu{p zdo*&7s+)3|-Il5y=piCHQpu1+@?BJ7+&LcY0sBE?Upk5smfm$+zEHi8DrGYf-~Vo! zwOHqLEKBQTG_xD@LPu`8x`-!UZ<-bD073s#LYz&MY02VCu%C%BNQC$`*kAaBc#RrUwKW zp~GyPXo_UzU%+>km#!UP?8#3k-ZrPqD8Ei5x1#r46zOvW0A!K)XwJG~z{~ItP4F1D1b5 y>}ihy}7`EFahbo7L_}T3gyxc4uWf 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..3920322b7673c69391eb167f089b46512958157e GIT binary patch literal 284 zcmZusJ8r^25PidM10fOx1vQEUH0%MQG@zska^YOStcS&x?TyxJ1UXs?4#1(J>`I6< z6w|zU-^=gM8Ne%^1X_fdGNs%%Nu|GYsmfGpuH?E*-_+i$T^-p~lNBjjfevAmCx=89 zo-Ctn&dLe&2+zSn8>0)BU)DIYZFX|Qb)9Iw=?Ox!`{bh|jOUAwf2Y{ltkN%p;gzsD zIj#v)&${Ov-Z#x4HjP#Mo)t`(-08gxLB1rR?XT;XxBL)+2ZTX=3_L=33^;~=sNYZC literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b79fafaa45ee4cb42d51e370253a25c3c87c0b27 GIT binary patch literal 2352 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdEchoStc.class new file mode 100644 index 0000000000000000000000000000000000000000..1c63c60315d8ee78528efa7a993c0790477769e3 GIT binary patch literal 11189 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 Yv?ZXz1)89j=>E z%-D$oy#Rq;D70L9ftE|ltvtYjWGxzCmDLws`oJIHgs; zd!KLbv(Mgp^zncG{8s>v;Wrv$h^LUykwgna=aRW*=4`XFkh?Iy#EU*d%W`HwTi z`}$`!q>)KM)6oi@p{MASbBn74zrK_!mP@$>UdfG>OVcYwhAx*cSf0<_6Sh5m&F2-* zaw;A}wr^6XEjZ4C&2uZR<2&=KmvdFfv{ZA~CoP|k^v`B!$#xwb=w#4J+$*})ito4# z4@H_eSw(mUCM=tW*CQzybspw@*QzX}v5Un&*7kVZUE}VQpd(xd;av=DO{erS3T0 z&;_RGI-XZ>x!;|jTS=o+OWRgux#00D-ASR<+oNf;+<0-(8S_0u*AhOz=F3Ggy+hS! zdB0fy%(zEuSKbtStIP{!PqK*j?$c~y+^fOa;-^>q?g)L$_a7gROtK1qaoRbMf`FPp2jKiK)v^G2(dQV#|@Sq*%s z5k6E0AF6{7H^PVO;KKwzUL|w55q?;}iQC3*bTW#3rW&ly*wE>!`e5Lb@vxRU#r=!4 zWyY@T#u3Yg3E$Irmx4IDTiZ$HBO6p5aV)b`b*9*Si#)BvDcnOfCaS`OrC@Vu(9nf$ z9edEju+OSc&8nF8=&EIxPVowNO`n%UEtzngGQ(QmrOB{NsvEo(z*||w7<0Gv&fKR3H zfQ|>z$IxE?nA!swp`zb+CeW;DB2;+?7zXaPC!t58<{#4WX=KT_jr}NizUf=Vf=HDD zZF_-Ig&NI9DW>~jZ#Z<<=!T0CyN4K#MX{^yeh{76Vd^Q|E}bYADO`>_W6s+=jUk3i zkkw~OX&h!qt79pyjxeOARP9gWC_R$JWSaYFJW7v55zF%{8ge);n($)`qtOjAWb7RX ze^cf)B%^AYpV9FIPB1*$YydAexW+IN8OWyMG9q?yOvg#Fi`hGo2s&KN4yG}|keH!% zCybodaYlG@q!}ZPUI-IU>X>Yb2bGvQ9_JZ!vA5ivpq~r6=Q`#J-FEX^s%nrl!B^_q-#I}xA zQAbG-8@#iF8>2@}q(pcw>sSyhjy0(r9UM!?QnMU3hsLJCRi)5*8e#;eiVmk)PFu(2 ziVjzBI(lc%HjPO&;Youkc3M#rrD{#2l^B-<$7?#)1;;10XFWQ6U)J%JZBpGF#b+5} z7naj_o{DBrjs?xH>G=9KX>J|SZ|L}@pm~>E5fQBpH#7;>h4e)#7-MoQ3{S$#I=&@H zp16A~>+D7c^V>SUvt5?;(G-DuO~-e)%PBf?RH?_D5~n$W0>jU*mglKhiq1%L#H3R+ z?OD^c#C32p;V)V=W9*f!CHn1ggz{3oKDz4+2P2zM^a~@s;i=v`Wx8gW(F_n^zm6UWKq@Sxk>k5F^@djOG#J?Pb63PeZBXA9htu=}aZ{jTi{g6IMaiMJdD6lb178HToNQDH% ze=s1%3GAq`l_d4IH`}7=pDYMId!;2HaT9I7r)yT@%OrX8&W78uw~!Lpn3nhuJLclX z&is=D@ek2;8@q3z?KVE~N8B6#6Yh`UBlO?G!M`9kcM}KG3O$&gOBloXxuo%Mey+uM zBtMrjj^#hV$SpjsbQ7WOsL~w`RvK5hQwo<1ac33oY*MW;F4j1wz!wy_B?M0^@N{7G zqQZSv;Zh;)X@z?_FnUoK{el7)6gVA%=M{Lq-Y8eN&YIO16>zadQ4Oq8IF^;^a-dQ} zWJRg01VlVRWL2TB2Iv|l*A@DDfPO}xpHt|s2Ix%4`-Vc_2zbAsfG-6=Ed;)zfUg8* zU#N-3t6}Obp@(wkDLODVC19CegRju*olAGFqKIoW0X##U>skDYn(S@dz~Au_{)w0I zZ@kLd@EW@xud^d~gU#Y?X5k%n1Mjjo@gBQL#piE$pZx>BW>OVj0}5rnbiZiyz}B iv~CPPmES+ZyCi!Mr}f{%FX%nIpX4t|=4j>jvFCrod;FyU literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0487dd454720406c1b2c5b6f4ff370f1211c9a33 GIT binary patch literal 2396 zcmcIm-*ekU5dKb4dWoyJZrnl>5=h%n>^O;V(-x@HfD;_z)=4`JZHLFRd{Go+$s@^W z=?i}jujM6WUnj;# zae^af;3P&FX8PaCFx-}bEms4-&G2aD}GD1>RzWCZAO6?|6z+l!o*0NgRiAp2U=avpB~vCBoi^FkDG+c<$h)8S*<~SD21()^8p0)>(|z!=%#iD-o=PgXPt5!2*uQ9ERv2`32E&PlLB{@j8>KEV}bEVlmjNJPS<*WLbKDUR{dl>sh>3ewX-^Z_z|7c8q zjMooLNRRTh% zFOLcqDS~UX@+|bfDL|d0$g#xn9;YY9k-xz)xxsOM6w9@a{ LYXf7%gZTFkanh%7 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelope$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..5bd4df887a2987b3247a095241e8b4a26de1bd5c GIT binary patch literal 14765 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..9060b58ab8cb8d63b9ed5a75254277d1c5ba4088 GIT binary patch literal 343 zcmZ{g!A=4(5Qe8Ht^z6#;K_J^nAis}ULcx~KrrkRly)p#yY1TTZi0{I!3W@>j8h@; zqK9_!P5Mvf>+b906967ym_diZt@I_|G{Wikg3D5IjgC)CwW{Q!Yti}&mtoQvt1x76 z%wSlER&YxJzFZe5V+JP-ZqgX-y|&1!;GPqq>B7>v{R`}{Qcx?W-2=jX<~=J-aC`zA5^v#r;vQl4z&mUA08a|JXLysL3al(zX4ppTOa@c literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4661ff6ea145da6f6e2cb16652402f9a54cef63e GIT binary patch literal 2407 zcmcIm-%}e^6#nkA;gYb>lu#`QN((Is6xNisYD3WwK_Y>6#J1z(&E^soH@lhLn-=@z zf8%R?p^nbzyMK}o)^nGLn64NenwiWwd-k4l&-u=;{r%6Me+BRWI~f=l;4m$uFvxJ- z30ihD2%4U>+hL%BdS~A**CQ1QM?Df@BtwS5Ro8db8pA-o@FasFq&YGchG8+xY6Axy z;Wu9#+D@xsH>Gb^!XSz^gYdZs8x<8XWPJI2z2kZfZO+aYYJF(Ubrnh(jN%eU*1~0s zF)Us{mm%GfVN-5~L5t!0e0*V1Z-N!YwQ@+~}t?iwxPe?yPPOPipfh8T_|incYOz~g4sLvJb8`=3F1I`SAs_LOkG-4X2=c8*UO=8{^d*KLk6 zLm}y8qK`D1Pb;3Xn%$A=AkfoAw4{8)$KgI|DJpO{*HxuS7-1u9h z=}R(X(vlvf$*<`orej*bEWObVEt6CSU>XL74O%kB0J4UONh5_RV-N*{Mw>B&yG9zT z#&GQT7HAVAgB9E%Yf~5@?k;hQw47IPk2rF@86{94rVS?%){{00C C`lSc} literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardCts$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..7c1e0598db53a6b39359d6c380fbb53fbd675383 GIT binary patch literal 13630 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 Hgk$sz;JsBA literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..defbb21411eeac6f35157f285d178a093ad45646 GIT binary patch literal 2407 zcmcIm-%}e^6#nkA^g_C%DWO^rlor}1q_C#6RU1GhGDwRwx6@mQSo86amA94aalj7Q9S@q?FE&~8ebA>oOa+kMAvD|2QhTN^=Zd7w~8Ac;#HDFc@= z&5%2XF2iJ31RYTc{4T@yndsi(a7%t$w5wjPFPkzDR<{s)s(dJg7dpQ8mFPHx&v!LP zio*FK;h15#69;+Kdttdw`-w_{?YrCky*&|>4{gztbfrSzJp=FKDudBdI8th)W4R2s zMgx;TOk>W#2bgD=359&>?NL(0ebKIqFtj>?;dwkfgZHPx9R~1h=L;MkGUVf;e(I^h zqBxvaCw`m?dI5_DuHibvq7|Nf3B&yX5a)JonIU~(y|7HjH>;0NU7yBH)g`wWu4Za6 zCkm<=vRL8B8MuvAh8v@lW}YF{Q=K));c;yq#)JRPYqP+ht4kOz)f`VW`rVcYzP4H} zNv3PQZMn~^z){Zwp)U8Gkm_!v7S5A-Mwafzw$#}vCDrvI?GbX?F79bH zY-o+h@g2}6Mgr@&OV;KwMch5&a2H4XmBh|W1EiYWFn0cag!QZ1ldBWNT7X5b`;`yqACY` zMFEz1P3(VR&IiuDZ8t@B=|7Hgq+Y?pi0+_DRHx4#;87%*z%J2gx*|!^8fK{uqTgTP C(x!0$ literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..348cc52695d68111e36bf8ccf7769a1e83adb320 GIT binary patch literal 14186 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 Y?dKcSTU6_m3bk2nwXfUNEpq>V0oCFiT>t<8 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStc.class new file mode 100644 index 0000000000000000000000000000000000000000..2ab3fea3e938a6914a86c2aac50574c31beec8d7 GIT binary patch literal 11320 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 PyH$Htjk-m3%k%#M-5z^^ literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..2ba447ab02f5110df25348c4e3832ac5c25c8286 GIT binary patch literal 327 zcmZ{gu}%U(5QhH+^$-;-Y;A}IB*uLJV*?3=kx(2jufpIZPA7$)c_+*)7h=f>3TqtLd>w4++j*oQFp{AM^yqh0c}$;*s5 z!I8pcVP1_ch0x1&K{h5hQMhS!ocFFI{lY%_b+ge63c)x!@CrRgamB`x!qs^4^edG{ z&TDtCaIv45zDEiQBN_WkyKNt!fj~RctGuFxP~Gw5QK6suhAqwWQubZ{m+G!{ArXX< bcPz*0O3Va3v~f?--~DGemyY<8+QHxlT&-Jx literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bf5a531861ef1ee279b854ec39128382c950edf9 GIT binary patch literal 2473 zcmcgu-E$LF6#t!e%eG+~LIX-Gl>!x$hI9?3sH9ZW*xE>1&vp9Psz5Z=O%a4LARL)`@yE&?6mB*^z3Tjhhg3E?k-CasD>1(szO4_lb8&gSy<1M5!4YULEt zIA$Va;W$PJr9)dF40UACmP>)(A$*aGV(0~+>bGR8=52M=nhK=oloL-a-dEBK9pC#% zwjD<7v$~^X`QO~i#0kQsq*T7zPr#}Uzfq+{ifVf>{z4ml7*LXieNP~ zvYayI2$xVi47?0$7GoA(!D+&YP^w$rI;T9`kgXLNhN3MAcaous-|xA4FPQsZp={#S zIFG%Gw>({Td>iM%ZXA2AK8^_sXK{`&A;SHg5U#{<^!nIekAs^eWH-esHBQ%0$7!MHC5zgBNRwklE7R7w2=QT0c)t!T(gPWrCqy5sqk919J#;c(X%57Fi&c0z3La$>{%L$U}niE8`S5j#AY zm_EXQqbC62LZa0dP$wLhy%T|xo~WEWItXUe#CkmLT;)K6b$2)thS!v6-dzz}Q3_1F zLzqk&E4{&+sKleZw?Psk8d*8#LvTqpN%@aj#A5u(&A}y{7Ajj@RBn zgD|)%L$&OOTtZgO^JGwUMHos($Bfq*CU`>h@nQ!0`Og~}glXn%rlciPk3e5B)5ju2 zuR&kq4d$(#11RAVKan0WY=o65&2)fem2Y6K77G`*F?{Dsl&%`1MsXV_w=w!u^V>M{ z=i_5!KN&S1;k7?Rnm%Mh2Cw-vZwF1sFdor7&hr}`&@@Xyk73YvI7&YuO;3=arx>GW zyh^@Do_;`qo@17N#2oz`1-=a4-$-Ewm)Y8B3^O;&T!B~m46ZQ8p~u(K+?#kSx@rY) z<0=DT@MlaJa~#1nK6w_#ZycauB5z{e#JeUxk%{be6XUBU&W~V$j~Q$tiz;(NeQXhI z3z-Uo_8!~Oh?kh^9GFuYu-rpt{|<9A4(>&}8Me#+0W3!9OL#w`%cwCm_`?bKAd(E? RI@1w$k!EQfqg)5k?|118#o+(| literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCts$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..544976a11e25505b3280b3dcc11b1514bf5fbd13 GIT binary patch literal 12807 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 C+Mpu< literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b3a5597333c6734847814cba8df8b5ca9a0a1cb4 GIT binary patch literal 237 zcmaKnI}XAy5JboP!l!^cKmiSw=xKRZb(?4knpj02fM12&d5e+F^qC? z7hDI9ACjC>AECoAsjo?6q$Yl|#+#%%^F28yB>i}Xp(Gz`MWsKfg7%J~Ih}18`bSgQ gl-5cU!}!0&ycP(Rfeq6RFR`E%p<8e0g>0bz1xwyT@Bjb+ literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bf8d016f2f39cc111bfcb164203c6abc2307551f GIT binary patch literal 2473 zcmcgu-%}e^6#nkA;gWPoQ_^ZdP}*WmNMTJWRU3*11c?o_ifzZoo6RLG-Rx#|Z))v> zkNzvZ))(sNjK2F9^{IO9vLdD{f-{<#%sG4Zo^#Ln&aeIT<&QrDxQ)#m3=DCY7BU!S zxaw^zd;ikhzfXhVunwWLtn%3;X)@~f4;>$SDf#ZtL>V%?cUt(HR` zXE_QM&S8w9dTI*{*{%#bay<;X4BwVw9|i$f4cfBZ@OypoJCveZOFgyrL`gq#1OIc` zaS5@no34_ze-jnQd4}t0sc86*h3B^K>C`xZx6T1CNA?t5tkHPQ!t1!mV6`-| zlrrTCk74dK@Di*=OjvjWlMLr0sqXtbl=5g-wl`%IiH>A=m=0C){z&M9U>+YrjpNNE zkAsT$eO-1Gjr;V_k0YT^VcNnaTxOUS(eals+)UsYyyJL1a&Cs9xF;S9+YRi--6Pi* zaaH%wI}8^~&6E>0-700wa#So_!yH59qbbwM+XCsn^=#>gHTR1SPzFI!|1jW&ZAAyi&Mby zA;V1CSQ&Jlqn?cN!3Ih7lt%esCs2k9n^NrtdiIE}R5B!y{4Yv1?lO;7jeWPZCmlt( z%Wk_JU#NaaMe|uI)PG%OOYxZ#!CG4;`?>9)A3Ac~)m1)`y4U8lThtV5zT*Xv>vs;& zU>Mnwk=h6%Dj}=k`!ZbhL=;IvhbQX{(=;IrTFk%@{b?hEVV*dfDASVJ=V0FxV~_~( zYp@r1mw4;o0IIl7PfU*(GD6BMPc%ca`VZh+bCqlR7=8F1s<+H>b8a6O_A&m8=J)Z| zpN~JG_~p3y9B=<2()1Y_GHK1{X**~-fvK35afRM!hvrEN_7WxqamE-y-k@qQ3``h9 zm^4h3jSMQrFcuAtB_kUXjS zA|OoqjHzLXJh)9KFTwnc95gw~9LpRZae87L#XB5RTO3!$utLX7GEu}Taan^bf^4Bs zC(u47I~wsSQJn)ms{t!LBlhnw=ZSN#+AWY>`e(2ftFPmem~Nm!)T9q5;L}(#f;&XV P=!!f^n;54$h=0EW`!l~% literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..4e357a29b9426552ee17fd384c5d3ac9e9d1fafb GIT binary patch literal 13280 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.class new file mode 100644 index 0000000000000000000000000000000000000000..23bda36754b754d6da59a88e26ecb6d5cb1760d9 GIT binary patch literal 10587 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..5f4f3b9549f7eb5676ed30a9f36ea835ac114554 GIT binary patch literal 262 zcmaKnF>V4e5JkTsu&{}MJ0t~Zu#`RxD@6!_DBuEKGdSLO*U0v!;Aj*afI}hdf|Myn zBR%Q=d2_v;F91IAlA*)!A#KgSThXXf#bv$ciW*)x>-|bMKMN8rlqAA7$c>w~+U&_? zcw(4T;#Y7Jb9_@)BtwQi!&_=o)+$5%=xnfMd*EyGUMTv@GmI65!f0y3PS>>d4BhGb ul3|p1y8XcU*0xU4mo~)k`oGpJ8AXR!7N-|~>_pED10>&J+L7mp4kJjQ_^aKptQxB5MUdiRU3*11c?ol5!;TBH=9dXy4lU_-qhL| zUz~Bq@%!VC@U^~BM`!fiKT17!iHLM%f-{<#%sG4Zo^#Lnov;1%w;z87a1-k(80h0L zE%f6Q!zCwZ+07tmdeUx(fePxKZM#yBR45#^DZ)sG45t=c-&KnYefh%O6b3NJk+N_a z7DHYe*y#wr`DoX6S`E7?eS0|!qNwKj_urOHH&QZORuMzWm+vigT(6;R&gToYUR5W$ zTICedIKz>#a2CT1S5InyVX!5`rd$n!7Q;vR*n^|dF9!|TsQT@W+ESqut#ab2m4{0D zksJ8?A%^eQTqVo@A|{S=46{jTsQM3t=QcKVTAaXJ>TGYzaOI&R+lubhSUh9lSzKVS z>Kax`mvV*2Fm(cK3DYb_EIfx%hI5frcl>S2cC;fK>oST&Q!?C32CDo1P~b*iiyg}Q-guW4Xo$lY^>MIKs}g>3`1K=IQQ2@J5B({ zYYY=fZFSUljtWB|>13j#G{O(MfbyGJmue@_V@I?k4S5pD|DsOg4)bWk*thGu(ovMU z!7aDx3)Km!W;PR%{`(GF=o!`WBAHKZ1)b25tFA8bT+%k1(N0lAtoV)>M6Tc5$AV#C zLq=*Xh^T(7s_)b4^F$O$!iIOZ7{+Nf7_^OnKKj!d2Ez<-Hc_S}lTX0DC&nNV;@2=f z#8u+0{R1drmY%4^Fil2CnWc&LldSRs_{MZ`Y7ayAzC-DTnKP&NaDETDUo^jm7yf$u z3E6jZ<`ca5r%2PsWXPo5o~FH^=?KPRTEJy`qaB(dDU6R{8lT{_@eR_(r^pzeVZ`_x zqsA8~7+<1je1&Vq*H|#VjU8VDt!<<*hk3F#iXq~z5m%&5K8NeXk?Y;CH1{%Ii9@a6 zRooyTO!{^yV}U%lNhdGD{GA*$ISL$$9ItbFVjS699Ag_Cmxr-L$4oMj#WHb&23Z8z zLZ(8Xy+L*~;w7Rw2YgZkmVZp_KVir9L4OOBheJufR#gYNs RB05Z0q)A#sj_M%({Q(CXz!Lxf literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..2e1e5760266b57613bc6d5b6fbdff0fc31ce977c GIT binary patch literal 14721 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 k#&IjTs$a$HRlHs;Yns0poAv&$0Sn}kA^-pY literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterCts.class new file mode 100644 index 0000000000000000000000000000000000000000..72c857fbd42c99499e731523b1fba97c51b58ad3 GIT binary patch literal 11611 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStc$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..169984e48b347c24783881624149ee2c05213637 GIT binary patch literal 2462 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..073a8cf24f4e9cdebfcdc6ada26468429cede412 GIT binary patch literal 332 zcmaJ-u}%U(5PbvU>8W7h7Z?j@+*lhMOsF82c%9v`jO!l9t=Zip!B4aB1NbQ795K)s zi?XzOb<&vd^Q={J62z zf_;J$!gX1!3snhCW%H7COmIrLYsHLnregKsU3By2P0cuj!tjAl=oyaLlF%KFUJ0pm zzZk;Ja5Ozi=h55RJQ4;+%y<(y5N-wd*S2-v??Vcmu*9%Xg&Rw1W literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$1.class new file mode 100644 index 0000000000000000000000000000000000000000..220cb7ae2302a497565b7a5fad8335b6c4e68d87 GIT binary patch literal 2385 zcmcIm-&5O05dKcc95#YDIB5fg76PO;1XPD4ZDT@fTnKIq$&@CUKFabTL}ke%ohivf z|DC?3FQn7XwD0|s`p|YysFXO0LmuK8&#qRtd%NHM(w~3-`a6KT*v>)20EccMgF%L? zcF;DRAaFckcEUgg&F-FAZALP*Z28a%BM~wTuDZS}*BAzhrN=o8An+6+Gy<2!o;tpzR7s{5U;+?AoQ+LhE(8%I+3ksJ8m2*)L4o;F-5 zDsK}7$0ddvX;9bwL(6kpgp~~Jz+3O`?TK*X$QB(*7pmyrGw?pHFc?jRAf-gQmd7xE z9vBI}0wxT6fJuf+k&uu4JxXP?FIw9oiY!MkJV}Qpd4DF_2W#)QkrOcU%)lh8y_=VDK=70 zR8$L;u)wis;5wEVX5U?xW3rwwwogS)@phr z8EXW#LHEd(@Lj|=C_6157bPt+CqwuMB-hPWZXp_tqAi$^FY{=a+ck79p94Okcy?A z3h~QJXf;057tYEW+0E?+-Ov`BZd}bT?V)Am1{M8=Z+k)H`p!x83`092l3PJUrDD{5 zUxYQ!iXuU1@MH~PnmS&i1quw%pEf5LmWeZoG9_7f0roR78i^3U2Kx)25O16uKp8ja ziK&r6Mo5{B63vjT`V08Z(&F`Fj6C@X&@xF?0J^4OSfjO~4Ir=Sn9wqq)CN(~Xq;(7xTR&W zstw1EZ-MqMa#+DlvNnkk;%*VQNUL}Sw}~Uyldu%`DL#ust>Sasq04mo+^ArcJh)3I zXQ2N>4(c2wjx~-iIXy9s!hMdZ9gf*CtkW@_OcYQfE~}A6kS*k^1lm_*M= z6kx^Y#J&!5o;dfa-8|W)e+C<|`X=thbPIK&I(^^(U&oRm+$TClSB#RhfpMyX`1daZ CRGmQp literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..7f7735604b8ad0b1b3d5e1fd146c7f87ad26218c GIT binary patch literal 13582 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCts.class new file mode 100644 index 0000000000000000000000000000000000000000..b46af6cb5b785b6abba4dfd9afadf95ab1f4a713 GIT binary patch literal 10781 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 RYQ5T^me)0?O{zn#KL*)M42%E( literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c95ca08ef1b0de76e93e2a0f9fad412b932b1720 GIT binary patch literal 292 zcmZutyKVw85S#^)<0+*`moB0J3j6_x1|%vXBEb(BvzR*_XJq?O$fu>?1NbNuy8s%B zZDwa?XZCXaI|CS_lb}KvD6<#4QWp9*6KcN^nhPjV!@PtKR6?5sb;MQ;Gy_6tMI7ya DPY+Y9 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2aead6331f590dcf4666e719f67ebff96150cb2c GIT binary patch literal 2385 zcmcImUsD@Z6#w02>4kJjQ_^ZdP$;w}q_C#6RU3*13KAP=$Jlm!+-xpkakHD*y+PUs zzmBiN6Nr) z7z~rjz*fidn)kO&yVWq8!ZVixKMZdL{_ee+v>8&K_+qK!xD91&HkYryP-i+mUP>X2 z6C4=>Co#;BKe8snU`qr|u^RX-hA(r`o!x;h`wh{kc(PFk3%7kW5U2B&N56`Ved;AuEa3Bv~$x8*==jbG9BNn+&pxB7UxxO zyv=YXS4}ukQZ10j3`fDh1)(dH!PD~R+ zzoR;v;e4Xi=TK%iDY`qIp^&JYJQ5gq)TC<6?d$a%j0Z!GVW=i8`}1|H9YN0V0mF1s z>vTKKQI3aVcLOAPNTc|m(kY{vbs@KWHB+pXkRl+FcoiiXb&*Re!n|4E7Ph3E4c45d zXUR@L#ZpOx_}L}25S{4>XK9h_rfPmCu*IqqRr51@Xim97MZeYC7F2$_BAmYi4eVp_7mPA z-q=5YA}-PsQzL_nkTOdX?I&6J8}NTJfe9_(HrH^97&=53|)JKKu8FMUD?SJu!~#4UX{*j;UcR(J`G&WU)-#phgx!wvZ_k zXxGV(LcB;+<$%v9z;X|W{Xfik?A-HqGh~bQ4Wh$z NMVh2lj8Gj!zo*^irv3l` literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$Builder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStc$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..baa88de4c9fb24b5108b4d223123c28b18a0f415 GIT binary patch literal 15119 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 literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..0dcad8d232b49b791bfd59f371364b03e54acf90 GIT binary patch literal 376 zcmZvY&rSj{5XPq!hW_N3*T_QZ12Oq$PGEP^7 z3x{^n>F@jI&-c&g7XUoKRRlEwx7z0NtyG2Crc&oCX|RwJvd+Db{n*4_&uLsH*$OFw z69L^+t(DA}m-A(c+DC9I;3l{jYfXmoovgRZ@>R~zIc0FK7tl257o;=_=nqHJgH`M) zDa^fq_CGP+cyt1;89U}3zW1UIi>j6vNscpC)rX^}Kd%^Rjr43im+Ucic<&0dVq22N v$0TE7aD4E)&?ryI#(WyQy#{Y0f+mEGoI$IK=WtQQ_AcKEdFC(qu0i(~P0eQ) literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4dce9af6af3ef8823202352e9735c543599581b3 GIT binary patch literal 1012 zcmah|+iuf95Iviuc9NPjEl{9o=`Afu9x#1GDV3lqB2ro^rOF!;YiHv)a&{|UD#2I5 z3m_i&06q#a>m*gw2iKB!cE&Sj&RqQW-|s&F-k?=R4tWy=3rjEju5^7VrU+Nu3COb6RW1+uJoL3bGZx~JA2IA^ z*HJ%eQ`;y@S~u%ZThB#2QiDq#@`)fCgwdL}<6fQwR_ghlc zkF$xlPbgQpr;^YW?|t2c%Iz>;>a5hLGwB8@@})N|iJ^EQqWFV~XjQC^lp;J0cod1q z!~w%*)+88~7iM9i!Elh}e>*u!IuFDS?Mx0dFWToky|l)pJ))aUl4(opC)jtoKm;RVU2QTh)S&gyUg literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbService.class new file mode 100644 index 0000000000000000000000000000000000000000..dd58f12ef32fba7cff04477a4fb1d7a2ec6dc06b GIT binary patch literal 4436 zcmbVQ`&S#+5&jklt&kUku}uoWv1%)^kR22o+$6?vOaR-|JRD@J#Yszrw1~CEE|pfq zI7ySHk39NH+w}cPn@8I;Z5>E})TfPq?jP0DZ>|=!sIqaYbC#=_otZoH&EsD2@BjSc zUjQD%$2uA`?8`dy$+>dI&R@Th%+BYMdDBi_m`Rz%MJsDIK||0$BSISVA#*lUF1Q-@ zkKR$KU$nvonnbI~vow8FxH}9OTe!!ByVF3+7H+R_cNu8g!tE389s_%YYg`(i93GrF zJ3exGct~E{W8gFBpqsJu!04snl!oY2+xQv5z39@>VPGHb)6keLIJU_x;@zWHGK-mH zfv6-WX0Di7w?Bd?KC9z^frE(A<*LB2U7qK*if_ z#i%nI&DhbhebsiJv7;urQRP%m1otCh;4qG82%WTS%RQxGuiwoLuhN2KkAWl}A|6Ux zgEkT&_n3iR^f95cPH|jqNPpua-P>R+20v%uVLYOt)v{f)XlDv(!D=kCpdq2u^Ny1* zn8}5r<2p0t+2n{P7ZYekEmvfT&b^`m4 zgiC35*(7oXOi4wUCPwU>c}>bcZ(vR)Q>ZeSWRhHwZoI0Yy-pL3bf?2;l*HO1<#4ps zlTu<$VHjbwgwYnpUQt;z@C>fW6kL=ZW6>OlcW*ZbbzEm>-7#0OqY*6OIdSNDRbOe@ z?F9ob%5I^`W;$N-a$egY7o@YZPGQU}l`?r#FlBdn2g&1bW%y)_Q>o%)z33? z(88+E>?M5gYf7Hp!)GS(J#WNMOGxN0A=4)SXjC0bCneLpE zyO1eThF!)wkU>&$h3-k!5^&DW>{ZTI&thcAT;OEnJk4q7m@M0_HE*V^lEqC2Y*u_m zP9Q3_`}VBrFz($O6aK6>wbYP5a+|SP4_z7=`xN4LlZ-Y-Uem!mBW|-vb-+|cd5t37 z+e33zsWVPdW`%}yylw?mCF|SUKKa2MPas|^{x9=M2*tJ@G^dYp zibeT+9WAFjgqdybi0C7htvW%BxmhayjWb@C`gf-EZ=H1HMK2+dleb(y#dF zS4qF-qrXG?yFU7R=#+~X?R{U_`vGa5O#I#^H$I@XQ|{2Do9Q1XJ0)Kyb%3jUBFkuB zMdvNtdxMmQAM$TVy^B!(Abvz2MZS-#Xhhny#5(rhf+q3}TjYOCj^XLPfuE52DW66S zZ@dWX!q0G?FU8oC2q>}k#4>iji{_iSf2!@!8oED8e253%r$j&*-pLg>0UiC+KZWWB z?fAI@^A}21+ogQ%Lr|Gd(zy8A*tw3QwQipCS!t|5wBcrwI=|!t{ECmD@N2G3a!2-1 zc+InXqVqiwBl49`kjp_nhxi=kBbIuX5xB7oolk^MGoRKQ3bjgb_c1K+A{QeZao#hI zAjN!L~er}SyBNPb5&-^B0v zPO>rWWh1tkjYp^2`q%K-C+j%1iYF4QIQKC|8*mGgV$q+QIR;_TTEXXTtTs2h@COWd zoAq#&+yrU6HZ==ABSFtdhuqpd-8e&(PwP4^u3{?SIW<@trmL#qEf0`+FT8HX@n!D% zj#qCPRd1`vHoOU)b;$h8QY3q<8e=fp*^RgH4rL@YK{V{y zv5}Uy$!L(P9(RA8-_LQCDlrm=yVhVO_I-p0KTtB#ag{=UnKkzccHmXDLA#39@NkgM zl76n_y*Yq)TY*3Fky5L){-0VSa#8fadO~dnBw9oNgfP($pHBUBU5nd~F4@f=|Vv2bfXt9|}9Mn@P9_ z3I57|1pE2>E6R?MUk%g9G5DYd#e4V*n8-D@*trza<#N-|+!fLQVV)_aRm} S87H}}alOoSo$C_i`1vnYAwn_$ literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbServiceOuterClass.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/PbServiceOuterClass.class new file mode 100644 index 0000000000000000000000000000000000000000..bb321f3f47d115f130d3098997bb4d319f000666 GIT binary patch literal 1534 zcmbVMTTc@~6#k|c+Ab}WV!4T26s0Y?%f+{%iGUbmmBtbh!vopw4$G45E}7jD@yVa! zPw?^}F~Rukk20QVn{Lr2f)6{pXZD=$ob%0h=I5_(-vKYh0Y# z2H$B0Tx>eJ?=$2Dw``y6Cyw*HiS8pC_U6{^?_CaYYB`IbNzS=8~n3j1$j)QF^MUL8QZ0k zaCK*+X*=dK?sB0A+>{J$3$MX&TG+3IN@!D4-oGxz#p?zz#5O&XGYnU3m%nN@>RjyV zb%%Cx70=L}Jzdz+?rg?_BbzkT&T|DBmKl<59f~uCrM~6$R~|{_B@d1~v#JZd!HGS} zTe_llNw+jASIb5vW-K0r=g6>H_zxnJ>xR>r+aa?%1zUQcGmQ2*TpFjE*AxbqB4C*4 z$~qikRVsoZ{oEzJw8onI38)OS|4<^s(BA{Lq_yX-;!n%ulgdppgZXp4&&&YfvoAvaPr*0OzZC40b zW*v)NVB}3SH(Gm9ie4apj`1(Zgk|K&511nI=BSu?n(T#cISMgRK#~4OP-?A9xKD3| Lkn?yz)K2~emmZ7j literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service1_Method$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service1_Method$1.class new file mode 100644 index 0000000000000000000000000000000000000000..144f196a0d3ece3d6d36adbfeff7ba80fd51d3d6 GIT binary patch literal 1048 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 OMg>o;0*=YntinI~llQ{_ literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service2_Method.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service2_Method.class new file mode 100644 index 0000000000000000000000000000000000000000..a8a11b0612b59d4daf049a841c838f537fd66dd4 GIT binary patch literal 4169 zcmbVPYgZfB72Ov}42*{u%LErfYQYxq=}82ngDjx0ydUSi<8tIq(L5AnjzAN zIPNP=+obPD`hKU6q#xQ3E^dJ~tBpVRM|E|dtHBbg(kj(j;_BWx&wbC?bNJ`K{`L<5 zAHnYpbSWIp`{m5_n(Y;D-^k?4g-p@$GC8NR?&h6|tMg89-7oY)A!;FpZiSv1XVtEi zf(eC3=Q_}x6y+WZy`pT??M=wp9t)P7S(g_s&Q6~{w~)OuJ0lMsu&@{X6izNp&0U_& zDU3eXktY*z>^IPFVE_**#PTKIa})+rV{H=KMhY2pArU|`6?Fdm}M zhQO>>E7SS9U8*_fR~4Q}HEB}qwg=^z(WT(3CU>_H4n8hBXYP{V4rRC0=TX{u7J zl^rjby_I*?0@wF?a8O}<+V+kFiJ}uEg6mF#`YTQ);jboaFH!Sudj3mZ!r^H`2Q_YD z1dmuagu@Emr(Mqto>q9UIn14?mITj7EsWv_@zB}|Dr@p|%t9JR6?#|w%7S*NkV<98 zIzn2^e#pW&G79~!7dREqE-eXS^Y)rTS{o_)ezD|a)+&DBuhdpE*-$Pi0L{69$P%X$ z3J3oKr(9qMP7_FvDLlCwq=Hk;SKPJ0Zva(s@_x~CZ##wEXdTBRlJSQvJc*|i`iS$) zeQkva)`t{wYrGAast&oaXZ4%{LqBb?jfnmD`%@?A3_-(HRfzADXDx6`nK`#A#i?+{ z!W5oiA^MeqOLP??sj=)H%wX2QSqtaz>`vLVAZ{TAJk988N4y}={ zi8;(0SP=ZqD-5^m`ss4v;#$5lFweRrr(vDhF5;qroP|prfw^0q1j3x9q%OU@=2T5& zv1H*Ba?u7K$YBqbS??m!l32p6COkh#um#w7+ysFxaO1vSUjF2y(ns=&IyXXk4 zEX19+!c~n8n{3+ms)6m*%RIst4t?~6^j{Z}L&aXmxkb+oY86uTV%tV+M;xcMe{9-0KQD||am7|>FzVT5+Ko50UP#1b z$$IJ+>6FLP zwdEZ`#la?@4IO5`e}|pVg^Z&K`q+C=UOS{|B=1m&ie< z^QG`5f34}7rSUoiyKQuB8ksPfIlorPJ3_L=w1qmx<)y;WZNaGq^Nvg@tUW91c}_)7 zMo!hhFUeW$c%xly8F*7+(ZUVR1FhcDw9J``h%h-k6F^ajkg(f1BUmg67X zLgL-@pOO3{B_i7J16(Ck1BaS!c%@OtD>-a|Ke?)r#q8m8YdS6pv1$>iGeGA{F zq(FT&ggSX2>f_7ti7h<-?lzv-#L4s~KKfToci|qgVzC+cc>=#cYl}^>CR>5uhwm`4 zy0dYv0zs6vTXDbKWF#6I8Itih)J=sz_HX0ko461SgF4lk=CZ!(?}mVs!}P|O$7Onb zD=el@>SEf&m995ou*i5JFHq#lL?g#RVhvn_37h}D6?iue@21!k<`~|<_b4Ox5=Ga* zo}FuXg9lwQV9~pP{47_wU@LueWDD2Q5B~+pKWQ0hr+O8aSWso`fu|h|>TInL2WcB= z*808oMezN8;0OFlMb`WJhyA9^X(3n{?G8B5{dcJ42rDkP%$hKA%P}UKYsJh&4}OFf zL*=qg9GH5Cy77D@vW3E3MD(s0jq07Dch_TGdS`CKy(`F;m$%^G#j$Nv?&1YWvCbI7 zx*7K})&0bAfE{DvIR9}t#hEr5X7FSDL__jZ{ETaqnq~Z)ztRln7x)!^-Q7$1-{5y- SxGdMVxGr*in`@bJ{QMhq5e!}c literal 0 HcmV?d00001 diff --git a/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service3_Method$1.class b/ProtoBufModule/target/classes/com/huangzj/cmd/gen/Service3_Method$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5c7e45e45b7cbb55302c8b760065f65b093baf60 GIT binary patch literal 1048 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 builder) { + super(builder); + } + private CmdEchoCts() { + text_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CmdEchoCts(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdEchoCts.class, com.huangzj.cmd.gen.CmdEchoCts.Builder.class); + } + + public static final int TEXT_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + * string text = 1; + * @return The text. + */ + @java.lang.Override + public java.lang.String getText() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + text_ = s; + return s; + } + } + /** + * string text = 1; + * @return The bytes for text. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, text_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, text_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CmdEchoCts)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CmdEchoCts other = (com.huangzj.cmd.gen.CmdEchoCts) obj; + + if (!getText() + .equals(other.getText())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CmdEchoCts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CmdEchoCts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdEchoCts parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CmdEchoCts prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CmdEchoCts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CmdEchoCts) + com.huangzj.cmd.gen.CmdEchoCtsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdEchoCts.class, com.huangzj.cmd.gen.CmdEchoCts.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CmdEchoCts.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + text_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoCts_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoCts getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CmdEchoCts.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoCts build() { + com.huangzj.cmd.gen.CmdEchoCts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoCts buildPartial() { + com.huangzj.cmd.gen.CmdEchoCts result = new com.huangzj.cmd.gen.CmdEchoCts(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CmdEchoCts result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.text_ = text_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CmdEchoCts) { + return mergeFrom((com.huangzj.cmd.gen.CmdEchoCts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CmdEchoCts other) { + if (other == com.huangzj.cmd.gen.CmdEchoCts.getDefaultInstance()) return this; + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object text_ = ""; + /** + * string text = 1; + * @return The text. + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + text_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string text = 1; + * @return The bytes for text. + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string text = 1; + * @param value The text to set. + * @return This builder for chaining. + */ + public Builder setText( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + text_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string text = 1; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string text = 1; + * @param value The bytes for text to set. + * @return This builder for chaining. + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + text_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CmdEchoCts) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CmdEchoCts) + private static final com.huangzj.cmd.gen.CmdEchoCts DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CmdEchoCts(); + } + + public static com.huangzj.cmd.gen.CmdEchoCts getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CmdEchoCts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoCts getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.java new file mode 100644 index 0000000..4e25ed6 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoCtsOrBuilder.java @@ -0,0 +1,22 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CmdEchoCtsOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CmdEchoCts) + com.google.protobuf.MessageOrBuilder { + + /** + * string text = 1; + * @return The text. + */ + java.lang.String getText(); + /** + * string text = 1; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStc.java new file mode 100644 index 0000000..f1e01a9 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStc.java @@ -0,0 +1,609 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CmdEchoStc} + */ +public final class CmdEchoStc extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CmdEchoStc) + CmdEchoStcOrBuilder { +private static final long serialVersionUID = 0L; + // Use CmdEchoStc.newBuilder() to construct. + private CmdEchoStc(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CmdEchoStc() { + text_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CmdEchoStc(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdEchoStc.class, com.huangzj.cmd.gen.CmdEchoStc.Builder.class); + } + + public static final int TEXT_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object text_ = ""; + /** + * string text = 1; + * @return The text. + */ + @java.lang.Override + public java.lang.String getText() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + text_ = s; + return s; + } + } + /** + * string text = 1; + * @return The bytes for text. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVER_TIME_MS_FIELD_NUMBER = 2; + private long serverTimeMs_ = 0L; + /** + * int64 server_time_ms = 2; + * @return The serverTimeMs. + */ + @java.lang.Override + public long getServerTimeMs() { + return serverTimeMs_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, text_); + } + if (serverTimeMs_ != 0L) { + output.writeInt64(2, serverTimeMs_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, text_); + } + if (serverTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(2, serverTimeMs_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CmdEchoStc)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CmdEchoStc other = (com.huangzj.cmd.gen.CmdEchoStc) obj; + + if (!getText() + .equals(other.getText())) return false; + if (getServerTimeMs() + != other.getServerTimeMs()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + hash = (37 * hash) + SERVER_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getServerTimeMs()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CmdEchoStc parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CmdEchoStc parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdEchoStc parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CmdEchoStc prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CmdEchoStc} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CmdEchoStc) + com.huangzj.cmd.gen.CmdEchoStcOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdEchoStc.class, com.huangzj.cmd.gen.CmdEchoStc.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CmdEchoStc.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + text_ = ""; + serverTimeMs_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdEchoStc_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoStc getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CmdEchoStc.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoStc build() { + com.huangzj.cmd.gen.CmdEchoStc result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoStc buildPartial() { + com.huangzj.cmd.gen.CmdEchoStc result = new com.huangzj.cmd.gen.CmdEchoStc(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CmdEchoStc result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.text_ = text_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.serverTimeMs_ = serverTimeMs_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CmdEchoStc) { + return mergeFrom((com.huangzj.cmd.gen.CmdEchoStc)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CmdEchoStc other) { + if (other == com.huangzj.cmd.gen.CmdEchoStc.getDefaultInstance()) return this; + if (!other.getText().isEmpty()) { + text_ = other.text_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getServerTimeMs() != 0L) { + setServerTimeMs(other.getServerTimeMs()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + text_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + serverTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object text_ = ""; + /** + * string text = 1; + * @return The text. + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + text_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string text = 1; + * @return The bytes for text. + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string text = 1; + * @param value The text to set. + * @return This builder for chaining. + */ + public Builder setText( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + text_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string text = 1; + * @return This builder for chaining. + */ + public Builder clearText() { + text_ = getDefaultInstance().getText(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string text = 1; + * @param value The bytes for text to set. + * @return This builder for chaining. + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + text_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private long serverTimeMs_ ; + /** + * int64 server_time_ms = 2; + * @return The serverTimeMs. + */ + @java.lang.Override + public long getServerTimeMs() { + return serverTimeMs_; + } + /** + * int64 server_time_ms = 2; + * @param value The serverTimeMs to set. + * @return This builder for chaining. + */ + public Builder setServerTimeMs(long value) { + + serverTimeMs_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * int64 server_time_ms = 2; + * @return This builder for chaining. + */ + public Builder clearServerTimeMs() { + bitField0_ = (bitField0_ & ~0x00000002); + serverTimeMs_ = 0L; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CmdEchoStc) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CmdEchoStc) + private static final com.huangzj.cmd.gen.CmdEchoStc DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CmdEchoStc(); + } + + public static com.huangzj.cmd.gen.CmdEchoStc getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CmdEchoStc parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdEchoStc getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStcOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStcOrBuilder.java new file mode 100644 index 0000000..ebfc70b --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdEchoStcOrBuilder.java @@ -0,0 +1,28 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CmdEchoStcOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CmdEchoStc) + com.google.protobuf.MessageOrBuilder { + + /** + * string text = 1; + * @return The text. + */ + java.lang.String getText(); + /** + * string text = 1; + * @return The bytes for text. + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + * int64 server_time_ms = 2; + * @return The serverTimeMs. + */ + long getServerTimeMs(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpc.java new file mode 100644 index 0000000..7d21f55 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpc.java @@ -0,0 +1,181 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public final class CmdRpc { + private CmdRpc() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CmdRpcEnvelope_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CmdRpcEnvelope_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CmdEchoCts_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CmdEchoCts_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CmdEchoStc_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CmdEchoStc_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossForwardCts_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossForwardCts_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossForwardStc_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossForwardStc_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossProxyCts_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossProxyCts_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossProxyStc_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossProxyStc_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossLinkRegisterCts_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossLinkRegisterCts_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossLinkRegisterStc_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossLinkRegisterStc_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossLinkHeartbeatCts_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_demo_cmd_CrossLinkHeartbeatStc_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\031serverProto/cmd_rpc.proto\022\010demo.cmd\"m\n" + + "\016CmdRpcEnvelope\022\022\n\nservice_id\030\001 \001(\r\022\021\n\tm" + + "ethod_id\030\002 \001(\r\022\017\n\007payload\030\003 \001(\014\022\021\n\tcross" + + "_ret\030\004 \001(\005\022\020\n\010link_seq\030\005 \001(\r\"\032\n\nCmdEchoC" + + "ts\022\014\n\004text\030\001 \001(\t\"2\n\nCmdEchoStc\022\014\n\004text\030\001" + + " \001(\t\022\026\n\016server_time_ms\030\002 \001(\003\" \n\017CrossFor" + + "wardCts\022\r\n\005trace\030\001 \001(\t\"7\n\017CrossForwardSt" + + "c\022\r\n\005trace\030\001 \001(\t\022\025\n\rcross_time_ms\030\002 \001(\003\"" + + "\036\n\rCrossProxyCts\022\r\n\005trace\030\001 \001(\t\"J\n\rCross" + + "ProxyStc\022\r\n\005trace\030\001 \001(\t\022\025\n\rcross_time_ms" + + "\030\002 \001(\003\022\023\n\013server_note\030\003 \001(\t\"8\n\024CrossLink" + + "RegisterCts\022\021\n\tserver_id\030\001 \001(\t\022\r\n\005token\030" + + "\002 \001(\t\"3\n\024CrossLinkRegisterStc\022\n\n\002ok\030\001 \001(" + + "\010\022\017\n\007message\030\002 \001(\t\"/\n\025CrossLinkHeartbeat" + + "Cts\022\026\n\016client_time_ms\030\001 \001(\003\"F\n\025CrossLink" + + "HeartbeatStc\022\026\n\016client_time_ms\030\001 \001(\003\022\025\n\r" + + "cross_time_ms\030\002 \001(\003*,\n\017Service1_Method\022\014" + + "\n\010Default1\020\000\022\013\n\007Method1\020\001*,\n\017Service2_Me" + + "thod\022\014\n\010Default2\020\000\022\013\n\007Method2\020\001*,\n\017Servi" + + "ce3_Method\022\014\n\010Default3\020\000\022\013\n\007Method3\020\001*<\n" + + "\017Service4_Method\022\014\n\010Default4\020\000\022\014\n\010Regist" + + "er\020\001\022\r\n\tHeartbeat\020\0022H\n\017Service1Service\0225" + + "\n\007GetUser\022\024.demo.cmd.CmdEchoCts\032\024.demo.c" + + "md.CmdEchoStcB\027\n\023com.huangzj.cmd.genP\001b\006" + + "proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_demo_cmd_CmdRpcEnvelope_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_demo_cmd_CmdRpcEnvelope_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CmdRpcEnvelope_descriptor, + new java.lang.String[] { "ServiceId", "MethodId", "Payload", "CrossRet", "LinkSeq", }); + internal_static_demo_cmd_CmdEchoCts_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_demo_cmd_CmdEchoCts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CmdEchoCts_descriptor, + new java.lang.String[] { "Text", }); + internal_static_demo_cmd_CmdEchoStc_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_demo_cmd_CmdEchoStc_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CmdEchoStc_descriptor, + new java.lang.String[] { "Text", "ServerTimeMs", }); + internal_static_demo_cmd_CrossForwardCts_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_demo_cmd_CrossForwardCts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossForwardCts_descriptor, + new java.lang.String[] { "Trace", }); + internal_static_demo_cmd_CrossForwardStc_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_demo_cmd_CrossForwardStc_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossForwardStc_descriptor, + new java.lang.String[] { "Trace", "CrossTimeMs", }); + internal_static_demo_cmd_CrossProxyCts_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_demo_cmd_CrossProxyCts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossProxyCts_descriptor, + new java.lang.String[] { "Trace", }); + internal_static_demo_cmd_CrossProxyStc_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_demo_cmd_CrossProxyStc_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossProxyStc_descriptor, + new java.lang.String[] { "Trace", "CrossTimeMs", "ServerNote", }); + internal_static_demo_cmd_CrossLinkRegisterCts_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_demo_cmd_CrossLinkRegisterCts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossLinkRegisterCts_descriptor, + new java.lang.String[] { "ServerId", "Token", }); + internal_static_demo_cmd_CrossLinkRegisterStc_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_demo_cmd_CrossLinkRegisterStc_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossLinkRegisterStc_descriptor, + new java.lang.String[] { "Ok", "Message", }); + internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_demo_cmd_CrossLinkHeartbeatCts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor, + new java.lang.String[] { "ClientTimeMs", }); + internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_demo_cmd_CrossLinkHeartbeatStc_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor, + new java.lang.String[] { "ClientTimeMs", "CrossTimeMs", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelope.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelope.java new file mode 100644 index 0000000..f53f7df --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelope.java @@ -0,0 +1,753 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CmdRpcEnvelope} + */ +public final class CmdRpcEnvelope extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CmdRpcEnvelope) + CmdRpcEnvelopeOrBuilder { +private static final long serialVersionUID = 0L; + // Use CmdRpcEnvelope.newBuilder() to construct. + private CmdRpcEnvelope(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CmdRpcEnvelope() { + payload_ = com.google.protobuf.ByteString.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CmdRpcEnvelope(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdRpcEnvelope_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdRpcEnvelope_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdRpcEnvelope.class, com.huangzj.cmd.gen.CmdRpcEnvelope.Builder.class); + } + + public static final int SERVICE_ID_FIELD_NUMBER = 1; + private int serviceId_ = 0; + /** + * uint32 service_id = 1; + * @return The serviceId. + */ + @java.lang.Override + public int getServiceId() { + return serviceId_; + } + + public static final int METHOD_ID_FIELD_NUMBER = 2; + private int methodId_ = 0; + /** + * uint32 method_id = 2; + * @return The methodId. + */ + @java.lang.Override + public int getMethodId() { + return methodId_; + } + + public static final int PAYLOAD_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes payload = 3; + * @return The payload. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPayload() { + return payload_; + } + + public static final int CROSS_RET_FIELD_NUMBER = 4; + private int crossRet_ = 0; + /** + * int32 cross_ret = 4; + * @return The crossRet. + */ + @java.lang.Override + public int getCrossRet() { + return crossRet_; + } + + public static final int LINK_SEQ_FIELD_NUMBER = 5; + private int linkSeq_ = 0; + /** + *

+   ** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 
+   * 
+ * + * uint32 link_seq = 5; + * @return The linkSeq. + */ + @java.lang.Override + public int getLinkSeq() { + return linkSeq_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (serviceId_ != 0) { + output.writeUInt32(1, serviceId_); + } + if (methodId_ != 0) { + output.writeUInt32(2, methodId_); + } + if (!payload_.isEmpty()) { + output.writeBytes(3, payload_); + } + if (crossRet_ != 0) { + output.writeInt32(4, crossRet_); + } + if (linkSeq_ != 0) { + output.writeUInt32(5, linkSeq_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (serviceId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, serviceId_); + } + if (methodId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, methodId_); + } + if (!payload_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, payload_); + } + if (crossRet_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, crossRet_); + } + if (linkSeq_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, linkSeq_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CmdRpcEnvelope)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CmdRpcEnvelope other = (com.huangzj.cmd.gen.CmdRpcEnvelope) obj; + + if (getServiceId() + != other.getServiceId()) return false; + if (getMethodId() + != other.getMethodId()) return false; + if (!getPayload() + .equals(other.getPayload())) return false; + if (getCrossRet() + != other.getCrossRet()) return false; + if (getLinkSeq() + != other.getLinkSeq()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getServiceId(); + hash = (37 * hash) + METHOD_ID_FIELD_NUMBER; + hash = (53 * hash) + getMethodId(); + hash = (37 * hash) + PAYLOAD_FIELD_NUMBER; + hash = (53 * hash) + getPayload().hashCode(); + hash = (37 * hash) + CROSS_RET_FIELD_NUMBER; + hash = (53 * hash) + getCrossRet(); + hash = (37 * hash) + LINK_SEQ_FIELD_NUMBER; + hash = (53 * hash) + getLinkSeq(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CmdRpcEnvelope parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CmdRpcEnvelope prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CmdRpcEnvelope} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CmdRpcEnvelope) + com.huangzj.cmd.gen.CmdRpcEnvelopeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdRpcEnvelope_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdRpcEnvelope_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CmdRpcEnvelope.class, com.huangzj.cmd.gen.CmdRpcEnvelope.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CmdRpcEnvelope.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + serviceId_ = 0; + methodId_ = 0; + payload_ = com.google.protobuf.ByteString.EMPTY; + crossRet_ = 0; + linkSeq_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CmdRpcEnvelope_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdRpcEnvelope getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CmdRpcEnvelope.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdRpcEnvelope build() { + com.huangzj.cmd.gen.CmdRpcEnvelope result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdRpcEnvelope buildPartial() { + com.huangzj.cmd.gen.CmdRpcEnvelope result = new com.huangzj.cmd.gen.CmdRpcEnvelope(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CmdRpcEnvelope result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.serviceId_ = serviceId_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.methodId_ = methodId_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.payload_ = payload_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.crossRet_ = crossRet_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.linkSeq_ = linkSeq_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CmdRpcEnvelope) { + return mergeFrom((com.huangzj.cmd.gen.CmdRpcEnvelope)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CmdRpcEnvelope other) { + if (other == com.huangzj.cmd.gen.CmdRpcEnvelope.getDefaultInstance()) return this; + if (other.getServiceId() != 0) { + setServiceId(other.getServiceId()); + } + if (other.getMethodId() != 0) { + setMethodId(other.getMethodId()); + } + if (other.getPayload() != com.google.protobuf.ByteString.EMPTY) { + setPayload(other.getPayload()); + } + if (other.getCrossRet() != 0) { + setCrossRet(other.getCrossRet()); + } + if (other.getLinkSeq() != 0) { + setLinkSeq(other.getLinkSeq()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + serviceId_ = input.readUInt32(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + methodId_ = input.readUInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: { + payload_ = input.readBytes(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: { + crossRet_ = input.readInt32(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: { + linkSeq_ = input.readUInt32(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int serviceId_ ; + /** + * uint32 service_id = 1; + * @return The serviceId. + */ + @java.lang.Override + public int getServiceId() { + return serviceId_; + } + /** + * uint32 service_id = 1; + * @param value The serviceId to set. + * @return This builder for chaining. + */ + public Builder setServiceId(int value) { + + serviceId_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * uint32 service_id = 1; + * @return This builder for chaining. + */ + public Builder clearServiceId() { + bitField0_ = (bitField0_ & ~0x00000001); + serviceId_ = 0; + onChanged(); + return this; + } + + private int methodId_ ; + /** + * uint32 method_id = 2; + * @return The methodId. + */ + @java.lang.Override + public int getMethodId() { + return methodId_; + } + /** + * uint32 method_id = 2; + * @param value The methodId to set. + * @return This builder for chaining. + */ + public Builder setMethodId(int value) { + + methodId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * uint32 method_id = 2; + * @return This builder for chaining. + */ + public Builder clearMethodId() { + bitField0_ = (bitField0_ & ~0x00000002); + methodId_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes payload = 3; + * @return The payload. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPayload() { + return payload_; + } + /** + * bytes payload = 3; + * @param value The payload to set. + * @return This builder for chaining. + */ + public Builder setPayload(com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + payload_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * bytes payload = 3; + * @return This builder for chaining. + */ + public Builder clearPayload() { + bitField0_ = (bitField0_ & ~0x00000004); + payload_ = getDefaultInstance().getPayload(); + onChanged(); + return this; + } + + private int crossRet_ ; + /** + * int32 cross_ret = 4; + * @return The crossRet. + */ + @java.lang.Override + public int getCrossRet() { + return crossRet_; + } + /** + * int32 cross_ret = 4; + * @param value The crossRet to set. + * @return This builder for chaining. + */ + public Builder setCrossRet(int value) { + + crossRet_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * int32 cross_ret = 4; + * @return This builder for chaining. + */ + public Builder clearCrossRet() { + bitField0_ = (bitField0_ & ~0x00000008); + crossRet_ = 0; + onChanged(); + return this; + } + + private int linkSeq_ ; + /** + *
+     ** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 
+     * 
+ * + * uint32 link_seq = 5; + * @return The linkSeq. + */ + @java.lang.Override + public int getLinkSeq() { + return linkSeq_; + } + /** + *
+     ** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 
+     * 
+ * + * uint32 link_seq = 5; + * @param value The linkSeq to set. + * @return This builder for chaining. + */ + public Builder setLinkSeq(int value) { + + linkSeq_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+     ** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 
+     * 
+ * + * uint32 link_seq = 5; + * @return This builder for chaining. + */ + public Builder clearLinkSeq() { + bitField0_ = (bitField0_ & ~0x00000010); + linkSeq_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CmdRpcEnvelope) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CmdRpcEnvelope) + private static final com.huangzj.cmd.gen.CmdRpcEnvelope DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CmdRpcEnvelope(); + } + + public static com.huangzj.cmd.gen.CmdRpcEnvelope getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CmdRpcEnvelope parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CmdRpcEnvelope getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.java new file mode 100644 index 0000000..7d973d4 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CmdRpcEnvelopeOrBuilder.java @@ -0,0 +1,44 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CmdRpcEnvelopeOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CmdRpcEnvelope) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 service_id = 1; + * @return The serviceId. + */ + int getServiceId(); + + /** + * uint32 method_id = 2; + * @return The methodId. + */ + int getMethodId(); + + /** + * bytes payload = 3; + * @return The payload. + */ + com.google.protobuf.ByteString getPayload(); + + /** + * int32 cross_ret = 4; + * @return The crossRet. + */ + int getCrossRet(); + + /** + *
+   ** 区服↔跨服链路上对齐请求与响应;客户端 TCP 可保持默认 0。 
+   * 
+ * + * uint32 link_seq = 5; + * @return The linkSeq. + */ + int getLinkSeq(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCts.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCts.java new file mode 100644 index 0000000..cc379d3 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCts.java @@ -0,0 +1,542 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossForwardCts} + */ +public final class CrossForwardCts extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossForwardCts) + CrossForwardCtsOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossForwardCts.newBuilder() to construct. + private CrossForwardCts(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossForwardCts() { + trace_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossForwardCts(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossForwardCts.class, com.huangzj.cmd.gen.CrossForwardCts.Builder.class); + } + + public static final int TRACE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + @java.lang.Override + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, trace_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, trace_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossForwardCts)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossForwardCts other = (com.huangzj.cmd.gen.CrossForwardCts) obj; + + if (!getTrace() + .equals(other.getTrace())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRACE_FIELD_NUMBER; + hash = (53 * hash) + getTrace().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossForwardCts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossForwardCts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossForwardCts parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossForwardCts prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossForwardCts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossForwardCts) + com.huangzj.cmd.gen.CrossForwardCtsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossForwardCts.class, com.huangzj.cmd.gen.CrossForwardCts.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossForwardCts.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + trace_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardCts_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardCts getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossForwardCts.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardCts build() { + com.huangzj.cmd.gen.CrossForwardCts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardCts buildPartial() { + com.huangzj.cmd.gen.CrossForwardCts result = new com.huangzj.cmd.gen.CrossForwardCts(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossForwardCts result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.trace_ = trace_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossForwardCts) { + return mergeFrom((com.huangzj.cmd.gen.CrossForwardCts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossForwardCts other) { + if (other == com.huangzj.cmd.gen.CrossForwardCts.getDefaultInstance()) return this; + if (!other.getTrace().isEmpty()) { + trace_ = other.trace_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + trace_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string trace = 1; + * @param value The trace to set. + * @return This builder for chaining. + */ + public Builder setTrace( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string trace = 1; + * @return This builder for chaining. + */ + public Builder clearTrace() { + trace_ = getDefaultInstance().getTrace(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string trace = 1; + * @param value The bytes for trace to set. + * @return This builder for chaining. + */ + public Builder setTraceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossForwardCts) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossForwardCts) + private static final com.huangzj.cmd.gen.CrossForwardCts DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossForwardCts(); + } + + public static com.huangzj.cmd.gen.CrossForwardCts getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossForwardCts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardCts getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCtsOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCtsOrBuilder.java new file mode 100644 index 0000000..1bc8318 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardCtsOrBuilder.java @@ -0,0 +1,22 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossForwardCtsOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossForwardCts) + com.google.protobuf.MessageOrBuilder { + + /** + * string trace = 1; + * @return The trace. + */ + java.lang.String getTrace(); + /** + * string trace = 1; + * @return The bytes for trace. + */ + com.google.protobuf.ByteString + getTraceBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStc.java new file mode 100644 index 0000000..ee6c9d9 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStc.java @@ -0,0 +1,609 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossForwardStc} + */ +public final class CrossForwardStc extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossForwardStc) + CrossForwardStcOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossForwardStc.newBuilder() to construct. + private CrossForwardStc(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossForwardStc() { + trace_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossForwardStc(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossForwardStc.class, com.huangzj.cmd.gen.CrossForwardStc.Builder.class); + } + + public static final int TRACE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + @java.lang.Override + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CROSS_TIME_MS_FIELD_NUMBER = 2; + private long crossTimeMs_ = 0L; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, trace_); + } + if (crossTimeMs_ != 0L) { + output.writeInt64(2, crossTimeMs_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, trace_); + } + if (crossTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(2, crossTimeMs_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossForwardStc)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossForwardStc other = (com.huangzj.cmd.gen.CrossForwardStc) obj; + + if (!getTrace() + .equals(other.getTrace())) return false; + if (getCrossTimeMs() + != other.getCrossTimeMs()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRACE_FIELD_NUMBER; + hash = (53 * hash) + getTrace().hashCode(); + hash = (37 * hash) + CROSS_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getCrossTimeMs()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossForwardStc parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossForwardStc parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossForwardStc parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossForwardStc prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossForwardStc} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossForwardStc) + com.huangzj.cmd.gen.CrossForwardStcOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossForwardStc.class, com.huangzj.cmd.gen.CrossForwardStc.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossForwardStc.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + trace_ = ""; + crossTimeMs_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossForwardStc_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardStc getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossForwardStc.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardStc build() { + com.huangzj.cmd.gen.CrossForwardStc result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardStc buildPartial() { + com.huangzj.cmd.gen.CrossForwardStc result = new com.huangzj.cmd.gen.CrossForwardStc(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossForwardStc result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.trace_ = trace_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.crossTimeMs_ = crossTimeMs_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossForwardStc) { + return mergeFrom((com.huangzj.cmd.gen.CrossForwardStc)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossForwardStc other) { + if (other == com.huangzj.cmd.gen.CrossForwardStc.getDefaultInstance()) return this; + if (!other.getTrace().isEmpty()) { + trace_ = other.trace_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getCrossTimeMs() != 0L) { + setCrossTimeMs(other.getCrossTimeMs()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + trace_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + crossTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string trace = 1; + * @param value The trace to set. + * @return This builder for chaining. + */ + public Builder setTrace( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string trace = 1; + * @return This builder for chaining. + */ + public Builder clearTrace() { + trace_ = getDefaultInstance().getTrace(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string trace = 1; + * @param value The bytes for trace to set. + * @return This builder for chaining. + */ + public Builder setTraceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private long crossTimeMs_ ; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + /** + * int64 cross_time_ms = 2; + * @param value The crossTimeMs to set. + * @return This builder for chaining. + */ + public Builder setCrossTimeMs(long value) { + + crossTimeMs_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * int64 cross_time_ms = 2; + * @return This builder for chaining. + */ + public Builder clearCrossTimeMs() { + bitField0_ = (bitField0_ & ~0x00000002); + crossTimeMs_ = 0L; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossForwardStc) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossForwardStc) + private static final com.huangzj.cmd.gen.CrossForwardStc DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossForwardStc(); + } + + public static com.huangzj.cmd.gen.CrossForwardStc getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossForwardStc parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossForwardStc getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.java new file mode 100644 index 0000000..8be2c55 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossForwardStcOrBuilder.java @@ -0,0 +1,28 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossForwardStcOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossForwardStc) + com.google.protobuf.MessageOrBuilder { + + /** + * string trace = 1; + * @return The trace. + */ + java.lang.String getTrace(); + /** + * string trace = 1; + * @return The bytes for trace. + */ + com.google.protobuf.ByteString + getTraceBytes(); + + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + long getCrossTimeMs(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCts.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCts.java new file mode 100644 index 0000000..d0b215b --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCts.java @@ -0,0 +1,473 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossLinkHeartbeatCts} + */ +public final class CrossLinkHeartbeatCts extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossLinkHeartbeatCts) + CrossLinkHeartbeatCtsOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossLinkHeartbeatCts.newBuilder() to construct. + private CrossLinkHeartbeatCts(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossLinkHeartbeatCts() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossLinkHeartbeatCts(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkHeartbeatCts.class, com.huangzj.cmd.gen.CrossLinkHeartbeatCts.Builder.class); + } + + public static final int CLIENT_TIME_MS_FIELD_NUMBER = 1; + private long clientTimeMs_ = 0L; + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + @java.lang.Override + public long getClientTimeMs() { + return clientTimeMs_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (clientTimeMs_ != 0L) { + output.writeInt64(1, clientTimeMs_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (clientTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(1, clientTimeMs_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossLinkHeartbeatCts)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossLinkHeartbeatCts other = (com.huangzj.cmd.gen.CrossLinkHeartbeatCts) obj; + + if (getClientTimeMs() + != other.getClientTimeMs()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + CLIENT_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getClientTimeMs()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossLinkHeartbeatCts prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossLinkHeartbeatCts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossLinkHeartbeatCts) + com.huangzj.cmd.gen.CrossLinkHeartbeatCtsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkHeartbeatCts.class, com.huangzj.cmd.gen.CrossLinkHeartbeatCts.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossLinkHeartbeatCts.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + clientTimeMs_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatCts_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatCts getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossLinkHeartbeatCts.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatCts build() { + com.huangzj.cmd.gen.CrossLinkHeartbeatCts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatCts buildPartial() { + com.huangzj.cmd.gen.CrossLinkHeartbeatCts result = new com.huangzj.cmd.gen.CrossLinkHeartbeatCts(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossLinkHeartbeatCts result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.clientTimeMs_ = clientTimeMs_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossLinkHeartbeatCts) { + return mergeFrom((com.huangzj.cmd.gen.CrossLinkHeartbeatCts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossLinkHeartbeatCts other) { + if (other == com.huangzj.cmd.gen.CrossLinkHeartbeatCts.getDefaultInstance()) return this; + if (other.getClientTimeMs() != 0L) { + setClientTimeMs(other.getClientTimeMs()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + clientTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private long clientTimeMs_ ; + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + @java.lang.Override + public long getClientTimeMs() { + return clientTimeMs_; + } + /** + * int64 client_time_ms = 1; + * @param value The clientTimeMs to set. + * @return This builder for chaining. + */ + public Builder setClientTimeMs(long value) { + + clientTimeMs_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * int64 client_time_ms = 1; + * @return This builder for chaining. + */ + public Builder clearClientTimeMs() { + bitField0_ = (bitField0_ & ~0x00000001); + clientTimeMs_ = 0L; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossLinkHeartbeatCts) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossLinkHeartbeatCts) + private static final com.huangzj.cmd.gen.CrossLinkHeartbeatCts DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossLinkHeartbeatCts(); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatCts getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossLinkHeartbeatCts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatCts getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.java new file mode 100644 index 0000000..53fa014 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatCtsOrBuilder.java @@ -0,0 +1,16 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossLinkHeartbeatCtsOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossLinkHeartbeatCts) + com.google.protobuf.MessageOrBuilder { + + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + long getClientTimeMs(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.java new file mode 100644 index 0000000..fd23358 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStc.java @@ -0,0 +1,540 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossLinkHeartbeatStc} + */ +public final class CrossLinkHeartbeatStc extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossLinkHeartbeatStc) + CrossLinkHeartbeatStcOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossLinkHeartbeatStc.newBuilder() to construct. + private CrossLinkHeartbeatStc(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossLinkHeartbeatStc() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossLinkHeartbeatStc(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkHeartbeatStc.class, com.huangzj.cmd.gen.CrossLinkHeartbeatStc.Builder.class); + } + + public static final int CLIENT_TIME_MS_FIELD_NUMBER = 1; + private long clientTimeMs_ = 0L; + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + @java.lang.Override + public long getClientTimeMs() { + return clientTimeMs_; + } + + public static final int CROSS_TIME_MS_FIELD_NUMBER = 2; + private long crossTimeMs_ = 0L; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (clientTimeMs_ != 0L) { + output.writeInt64(1, clientTimeMs_); + } + if (crossTimeMs_ != 0L) { + output.writeInt64(2, crossTimeMs_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (clientTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(1, clientTimeMs_); + } + if (crossTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(2, crossTimeMs_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossLinkHeartbeatStc)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossLinkHeartbeatStc other = (com.huangzj.cmd.gen.CrossLinkHeartbeatStc) obj; + + if (getClientTimeMs() + != other.getClientTimeMs()) return false; + if (getCrossTimeMs() + != other.getCrossTimeMs()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + CLIENT_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getClientTimeMs()); + hash = (37 * hash) + CROSS_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getCrossTimeMs()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossLinkHeartbeatStc prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossLinkHeartbeatStc} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossLinkHeartbeatStc) + com.huangzj.cmd.gen.CrossLinkHeartbeatStcOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkHeartbeatStc.class, com.huangzj.cmd.gen.CrossLinkHeartbeatStc.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossLinkHeartbeatStc.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + clientTimeMs_ = 0L; + crossTimeMs_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkHeartbeatStc_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatStc getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossLinkHeartbeatStc.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatStc build() { + com.huangzj.cmd.gen.CrossLinkHeartbeatStc result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatStc buildPartial() { + com.huangzj.cmd.gen.CrossLinkHeartbeatStc result = new com.huangzj.cmd.gen.CrossLinkHeartbeatStc(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossLinkHeartbeatStc result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.clientTimeMs_ = clientTimeMs_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.crossTimeMs_ = crossTimeMs_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossLinkHeartbeatStc) { + return mergeFrom((com.huangzj.cmd.gen.CrossLinkHeartbeatStc)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossLinkHeartbeatStc other) { + if (other == com.huangzj.cmd.gen.CrossLinkHeartbeatStc.getDefaultInstance()) return this; + if (other.getClientTimeMs() != 0L) { + setClientTimeMs(other.getClientTimeMs()); + } + if (other.getCrossTimeMs() != 0L) { + setCrossTimeMs(other.getCrossTimeMs()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + clientTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + crossTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private long clientTimeMs_ ; + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + @java.lang.Override + public long getClientTimeMs() { + return clientTimeMs_; + } + /** + * int64 client_time_ms = 1; + * @param value The clientTimeMs to set. + * @return This builder for chaining. + */ + public Builder setClientTimeMs(long value) { + + clientTimeMs_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * int64 client_time_ms = 1; + * @return This builder for chaining. + */ + public Builder clearClientTimeMs() { + bitField0_ = (bitField0_ & ~0x00000001); + clientTimeMs_ = 0L; + onChanged(); + return this; + } + + private long crossTimeMs_ ; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + /** + * int64 cross_time_ms = 2; + * @param value The crossTimeMs to set. + * @return This builder for chaining. + */ + public Builder setCrossTimeMs(long value) { + + crossTimeMs_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * int64 cross_time_ms = 2; + * @return This builder for chaining. + */ + public Builder clearCrossTimeMs() { + bitField0_ = (bitField0_ & ~0x00000002); + crossTimeMs_ = 0L; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossLinkHeartbeatStc) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossLinkHeartbeatStc) + private static final com.huangzj.cmd.gen.CrossLinkHeartbeatStc DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossLinkHeartbeatStc(); + } + + public static com.huangzj.cmd.gen.CrossLinkHeartbeatStc getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossLinkHeartbeatStc parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkHeartbeatStc getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.java new file mode 100644 index 0000000..10c576e --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkHeartbeatStcOrBuilder.java @@ -0,0 +1,22 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossLinkHeartbeatStcOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossLinkHeartbeatStc) + com.google.protobuf.MessageOrBuilder { + + /** + * int64 client_time_ms = 1; + * @return The clientTimeMs. + */ + long getClientTimeMs(); + + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + long getCrossTimeMs(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCts.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCts.java new file mode 100644 index 0000000..ee91807 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCts.java @@ -0,0 +1,678 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossLinkRegisterCts} + */ +public final class CrossLinkRegisterCts extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossLinkRegisterCts) + CrossLinkRegisterCtsOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossLinkRegisterCts.newBuilder() to construct. + private CrossLinkRegisterCts(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossLinkRegisterCts() { + serverId_ = ""; + token_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossLinkRegisterCts(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkRegisterCts.class, com.huangzj.cmd.gen.CrossLinkRegisterCts.Builder.class); + } + + public static final int SERVER_ID_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object serverId_ = ""; + /** + * string server_id = 1; + * @return The serverId. + */ + @java.lang.Override + public java.lang.String getServerId() { + java.lang.Object ref = serverId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serverId_ = s; + return s; + } + } + /** + * string server_id = 1; + * @return The bytes for serverId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getServerIdBytes() { + java.lang.Object ref = serverId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serverId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TOKEN_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object token_ = ""; + /** + * string token = 2; + * @return The token. + */ + @java.lang.Override + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } + } + /** + * string token = 2; + * @return The bytes for token. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serverId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, serverId_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(token_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, token_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serverId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, serverId_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(token_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, token_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossLinkRegisterCts)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossLinkRegisterCts other = (com.huangzj.cmd.gen.CrossLinkRegisterCts) obj; + + if (!getServerId() + .equals(other.getServerId())) return false; + if (!getToken() + .equals(other.getToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SERVER_ID_FIELD_NUMBER; + hash = (53 * hash) + getServerId().hashCode(); + hash = (37 * hash) + TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterCts parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossLinkRegisterCts prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossLinkRegisterCts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossLinkRegisterCts) + com.huangzj.cmd.gen.CrossLinkRegisterCtsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkRegisterCts.class, com.huangzj.cmd.gen.CrossLinkRegisterCts.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossLinkRegisterCts.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + serverId_ = ""; + token_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterCts_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterCts getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossLinkRegisterCts.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterCts build() { + com.huangzj.cmd.gen.CrossLinkRegisterCts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterCts buildPartial() { + com.huangzj.cmd.gen.CrossLinkRegisterCts result = new com.huangzj.cmd.gen.CrossLinkRegisterCts(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossLinkRegisterCts result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.serverId_ = serverId_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.token_ = token_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossLinkRegisterCts) { + return mergeFrom((com.huangzj.cmd.gen.CrossLinkRegisterCts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossLinkRegisterCts other) { + if (other == com.huangzj.cmd.gen.CrossLinkRegisterCts.getDefaultInstance()) return this; + if (!other.getServerId().isEmpty()) { + serverId_ = other.serverId_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getToken().isEmpty()) { + token_ = other.token_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + serverId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + token_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object serverId_ = ""; + /** + * string server_id = 1; + * @return The serverId. + */ + public java.lang.String getServerId() { + java.lang.Object ref = serverId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serverId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string server_id = 1; + * @return The bytes for serverId. + */ + public com.google.protobuf.ByteString + getServerIdBytes() { + java.lang.Object ref = serverId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serverId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string server_id = 1; + * @param value The serverId to set. + * @return This builder for chaining. + */ + public Builder setServerId( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + serverId_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string server_id = 1; + * @return This builder for chaining. + */ + public Builder clearServerId() { + serverId_ = getDefaultInstance().getServerId(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string server_id = 1; + * @param value The bytes for serverId to set. + * @return This builder for chaining. + */ + public Builder setServerIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + serverId_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object token_ = ""; + /** + * string token = 2; + * @return The token. + */ + public java.lang.String getToken() { + java.lang.Object ref = token_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + token_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string token = 2; + * @return The bytes for token. + */ + public com.google.protobuf.ByteString + getTokenBytes() { + java.lang.Object ref = token_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + token_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string token = 2; + * @param value The token to set. + * @return This builder for chaining. + */ + public Builder setToken( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + token_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string token = 2; + * @return This builder for chaining. + */ + public Builder clearToken() { + token_ = getDefaultInstance().getToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string token = 2; + * @param value The bytes for token to set. + * @return This builder for chaining. + */ + public Builder setTokenBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + token_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossLinkRegisterCts) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossLinkRegisterCts) + private static final com.huangzj.cmd.gen.CrossLinkRegisterCts DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossLinkRegisterCts(); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterCts getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossLinkRegisterCts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterCts getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCtsOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCtsOrBuilder.java new file mode 100644 index 0000000..da15de7 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterCtsOrBuilder.java @@ -0,0 +1,34 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossLinkRegisterCtsOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossLinkRegisterCts) + com.google.protobuf.MessageOrBuilder { + + /** + * string server_id = 1; + * @return The serverId. + */ + java.lang.String getServerId(); + /** + * string server_id = 1; + * @return The bytes for serverId. + */ + com.google.protobuf.ByteString + getServerIdBytes(); + + /** + * string token = 2; + * @return The token. + */ + java.lang.String getToken(); + /** + * string token = 2; + * @return The bytes for token. + */ + com.google.protobuf.ByteString + getTokenBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStc.java new file mode 100644 index 0000000..d384cb5 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStc.java @@ -0,0 +1,609 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossLinkRegisterStc} + */ +public final class CrossLinkRegisterStc extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossLinkRegisterStc) + CrossLinkRegisterStcOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossLinkRegisterStc.newBuilder() to construct. + private CrossLinkRegisterStc(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossLinkRegisterStc() { + message_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossLinkRegisterStc(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkRegisterStc.class, com.huangzj.cmd.gen.CrossLinkRegisterStc.Builder.class); + } + + public static final int OK_FIELD_NUMBER = 1; + private boolean ok_ = false; + /** + * bool ok = 1; + * @return The ok. + */ + @java.lang.Override + public boolean getOk() { + return ok_; + } + + public static final int MESSAGE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object message_ = ""; + /** + * string message = 2; + * @return The message. + */ + @java.lang.Override + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + message_ = s; + return s; + } + } + /** + * string message = 2; + * @return The bytes for message. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (ok_ != false) { + output.writeBool(1, ok_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(message_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, message_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (ok_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(1, ok_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(message_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, message_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossLinkRegisterStc)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossLinkRegisterStc other = (com.huangzj.cmd.gen.CrossLinkRegisterStc) obj; + + if (getOk() + != other.getOk()) return false; + if (!getMessage() + .equals(other.getMessage())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + OK_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getOk()); + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossLinkRegisterStc parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossLinkRegisterStc prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossLinkRegisterStc} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossLinkRegisterStc) + com.huangzj.cmd.gen.CrossLinkRegisterStcOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossLinkRegisterStc.class, com.huangzj.cmd.gen.CrossLinkRegisterStc.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossLinkRegisterStc.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + ok_ = false; + message_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossLinkRegisterStc_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterStc getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossLinkRegisterStc.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterStc build() { + com.huangzj.cmd.gen.CrossLinkRegisterStc result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterStc buildPartial() { + com.huangzj.cmd.gen.CrossLinkRegisterStc result = new com.huangzj.cmd.gen.CrossLinkRegisterStc(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossLinkRegisterStc result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.ok_ = ok_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.message_ = message_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossLinkRegisterStc) { + return mergeFrom((com.huangzj.cmd.gen.CrossLinkRegisterStc)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossLinkRegisterStc other) { + if (other == com.huangzj.cmd.gen.CrossLinkRegisterStc.getDefaultInstance()) return this; + if (other.getOk() != false) { + setOk(other.getOk()); + } + if (!other.getMessage().isEmpty()) { + message_ = other.message_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + ok_ = input.readBool(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + message_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private boolean ok_ ; + /** + * bool ok = 1; + * @return The ok. + */ + @java.lang.Override + public boolean getOk() { + return ok_; + } + /** + * bool ok = 1; + * @param value The ok to set. + * @return This builder for chaining. + */ + public Builder setOk(boolean value) { + + ok_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * bool ok = 1; + * @return This builder for chaining. + */ + public Builder clearOk() { + bitField0_ = (bitField0_ & ~0x00000001); + ok_ = false; + onChanged(); + return this; + } + + private java.lang.Object message_ = ""; + /** + * string message = 2; + * @return The message. + */ + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + message_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string message = 2; + * @return The bytes for message. + */ + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string message = 2; + * @param value The message to set. + * @return This builder for chaining. + */ + public Builder setMessage( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + message_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string message = 2; + * @return This builder for chaining. + */ + public Builder clearMessage() { + message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string message = 2; + * @param value The bytes for message to set. + * @return This builder for chaining. + */ + public Builder setMessageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + message_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossLinkRegisterStc) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossLinkRegisterStc) + private static final com.huangzj.cmd.gen.CrossLinkRegisterStc DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossLinkRegisterStc(); + } + + public static com.huangzj.cmd.gen.CrossLinkRegisterStc getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossLinkRegisterStc parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossLinkRegisterStc getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.java new file mode 100644 index 0000000..10f94f8 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossLinkRegisterStcOrBuilder.java @@ -0,0 +1,28 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossLinkRegisterStcOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossLinkRegisterStc) + com.google.protobuf.MessageOrBuilder { + + /** + * bool ok = 1; + * @return The ok. + */ + boolean getOk(); + + /** + * string message = 2; + * @return The message. + */ + java.lang.String getMessage(); + /** + * string message = 2; + * @return The bytes for message. + */ + com.google.protobuf.ByteString + getMessageBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCts.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCts.java new file mode 100644 index 0000000..5e421e2 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCts.java @@ -0,0 +1,542 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossProxyCts} + */ +public final class CrossProxyCts extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossProxyCts) + CrossProxyCtsOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossProxyCts.newBuilder() to construct. + private CrossProxyCts(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossProxyCts() { + trace_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossProxyCts(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossProxyCts.class, com.huangzj.cmd.gen.CrossProxyCts.Builder.class); + } + + public static final int TRACE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + @java.lang.Override + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, trace_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, trace_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossProxyCts)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossProxyCts other = (com.huangzj.cmd.gen.CrossProxyCts) obj; + + if (!getTrace() + .equals(other.getTrace())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRACE_FIELD_NUMBER; + hash = (53 * hash) + getTrace().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossProxyCts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossProxyCts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossProxyCts parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossProxyCts prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossProxyCts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossProxyCts) + com.huangzj.cmd.gen.CrossProxyCtsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyCts_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyCts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossProxyCts.class, com.huangzj.cmd.gen.CrossProxyCts.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossProxyCts.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + trace_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyCts_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyCts getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossProxyCts.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyCts build() { + com.huangzj.cmd.gen.CrossProxyCts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyCts buildPartial() { + com.huangzj.cmd.gen.CrossProxyCts result = new com.huangzj.cmd.gen.CrossProxyCts(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossProxyCts result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.trace_ = trace_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossProxyCts) { + return mergeFrom((com.huangzj.cmd.gen.CrossProxyCts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossProxyCts other) { + if (other == com.huangzj.cmd.gen.CrossProxyCts.getDefaultInstance()) return this; + if (!other.getTrace().isEmpty()) { + trace_ = other.trace_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + trace_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string trace = 1; + * @param value The trace to set. + * @return This builder for chaining. + */ + public Builder setTrace( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string trace = 1; + * @return This builder for chaining. + */ + public Builder clearTrace() { + trace_ = getDefaultInstance().getTrace(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string trace = 1; + * @param value The bytes for trace to set. + * @return This builder for chaining. + */ + public Builder setTraceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossProxyCts) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossProxyCts) + private static final com.huangzj.cmd.gen.CrossProxyCts DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossProxyCts(); + } + + public static com.huangzj.cmd.gen.CrossProxyCts getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossProxyCts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyCts getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.java new file mode 100644 index 0000000..ab68cec --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyCtsOrBuilder.java @@ -0,0 +1,22 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossProxyCtsOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossProxyCts) + com.google.protobuf.MessageOrBuilder { + + /** + * string trace = 1; + * @return The trace. + */ + java.lang.String getTrace(); + /** + * string trace = 1; + * @return The bytes for trace. + */ + com.google.protobuf.ByteString + getTraceBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStc.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStc.java new file mode 100644 index 0000000..cbded66 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStc.java @@ -0,0 +1,773 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf type {@code demo.cmd.CrossProxyStc} + */ +public final class CrossProxyStc extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:demo.cmd.CrossProxyStc) + CrossProxyStcOrBuilder { +private static final long serialVersionUID = 0L; + // Use CrossProxyStc.newBuilder() to construct. + private CrossProxyStc(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private CrossProxyStc() { + trace_ = ""; + serverNote_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CrossProxyStc(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossProxyStc.class, com.huangzj.cmd.gen.CrossProxyStc.Builder.class); + } + + public static final int TRACE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + @java.lang.Override + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CROSS_TIME_MS_FIELD_NUMBER = 2; + private long crossTimeMs_ = 0L; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + + public static final int SERVER_NOTE_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object serverNote_ = ""; + /** + *
+   ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+   * 
+ * + * string server_note = 3; + * @return The serverNote. + */ + @java.lang.Override + public java.lang.String getServerNote() { + java.lang.Object ref = serverNote_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serverNote_ = s; + return s; + } + } + /** + *
+   ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+   * 
+ * + * string server_note = 3; + * @return The bytes for serverNote. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getServerNoteBytes() { + java.lang.Object ref = serverNote_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serverNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, trace_); + } + if (crossTimeMs_ != 0L) { + output.writeInt64(2, crossTimeMs_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serverNote_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, serverNote_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(trace_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, trace_); + } + if (crossTimeMs_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(2, crossTimeMs_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serverNote_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, serverNote_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.huangzj.cmd.gen.CrossProxyStc)) { + return super.equals(obj); + } + com.huangzj.cmd.gen.CrossProxyStc other = (com.huangzj.cmd.gen.CrossProxyStc) obj; + + if (!getTrace() + .equals(other.getTrace())) return false; + if (getCrossTimeMs() + != other.getCrossTimeMs()) return false; + if (!getServerNote() + .equals(other.getServerNote())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRACE_FIELD_NUMBER; + hash = (53 * hash) + getTrace().hashCode(); + hash = (37 * hash) + CROSS_TIME_MS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getCrossTimeMs()); + hash = (37 * hash) + SERVER_NOTE_FIELD_NUMBER; + hash = (53 * hash) + getServerNote().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.huangzj.cmd.gen.CrossProxyStc parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.huangzj.cmd.gen.CrossProxyStc parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.huangzj.cmd.gen.CrossProxyStc parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.huangzj.cmd.gen.CrossProxyStc prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code demo.cmd.CrossProxyStc} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:demo.cmd.CrossProxyStc) + com.huangzj.cmd.gen.CrossProxyStcOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyStc_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyStc_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.huangzj.cmd.gen.CrossProxyStc.class, com.huangzj.cmd.gen.CrossProxyStc.Builder.class); + } + + // Construct using com.huangzj.cmd.gen.CrossProxyStc.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + trace_ = ""; + crossTimeMs_ = 0L; + serverNote_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.huangzj.cmd.gen.CmdRpc.internal_static_demo_cmd_CrossProxyStc_descriptor; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyStc getDefaultInstanceForType() { + return com.huangzj.cmd.gen.CrossProxyStc.getDefaultInstance(); + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyStc build() { + com.huangzj.cmd.gen.CrossProxyStc result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyStc buildPartial() { + com.huangzj.cmd.gen.CrossProxyStc result = new com.huangzj.cmd.gen.CrossProxyStc(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.huangzj.cmd.gen.CrossProxyStc result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.trace_ = trace_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.crossTimeMs_ = crossTimeMs_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.serverNote_ = serverNote_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.huangzj.cmd.gen.CrossProxyStc) { + return mergeFrom((com.huangzj.cmd.gen.CrossProxyStc)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.huangzj.cmd.gen.CrossProxyStc other) { + if (other == com.huangzj.cmd.gen.CrossProxyStc.getDefaultInstance()) return this; + if (!other.getTrace().isEmpty()) { + trace_ = other.trace_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getCrossTimeMs() != 0L) { + setCrossTimeMs(other.getCrossTimeMs()); + } + if (!other.getServerNote().isEmpty()) { + serverNote_ = other.serverNote_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + trace_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: { + crossTimeMs_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: { + serverNote_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object trace_ = ""; + /** + * string trace = 1; + * @return The trace. + */ + public java.lang.String getTrace() { + java.lang.Object ref = trace_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trace_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string trace = 1; + * @return The bytes for trace. + */ + public com.google.protobuf.ByteString + getTraceBytes() { + java.lang.Object ref = trace_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trace_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string trace = 1; + * @param value The trace to set. + * @return This builder for chaining. + */ + public Builder setTrace( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string trace = 1; + * @return This builder for chaining. + */ + public Builder clearTrace() { + trace_ = getDefaultInstance().getTrace(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string trace = 1; + * @param value The bytes for trace to set. + * @return This builder for chaining. + */ + public Builder setTraceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + trace_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private long crossTimeMs_ ; + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + @java.lang.Override + public long getCrossTimeMs() { + return crossTimeMs_; + } + /** + * int64 cross_time_ms = 2; + * @param value The crossTimeMs to set. + * @return This builder for chaining. + */ + public Builder setCrossTimeMs(long value) { + + crossTimeMs_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * int64 cross_time_ms = 2; + * @return This builder for chaining. + */ + public Builder clearCrossTimeMs() { + bitField0_ = (bitField0_ & ~0x00000002); + crossTimeMs_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object serverNote_ = ""; + /** + *
+     ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+     * 
+ * + * string server_note = 3; + * @return The serverNote. + */ + public java.lang.String getServerNote() { + java.lang.Object ref = serverNote_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serverNote_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+     * 
+ * + * string server_note = 3; + * @return The bytes for serverNote. + */ + public com.google.protobuf.ByteString + getServerNoteBytes() { + java.lang.Object ref = serverNote_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + serverNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+     * 
+ * + * string server_note = 3; + * @param value The serverNote to set. + * @return This builder for chaining. + */ + public Builder setServerNote( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + serverNote_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+     ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+     * 
+ * + * string server_note = 3; + * @return This builder for chaining. + */ + public Builder clearServerNote() { + serverNote_ = getDefaultInstance().getServerNote(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+     ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+     * 
+ * + * string server_note = 3; + * @param value The bytes for serverNote to set. + * @return This builder for chaining. + */ + public Builder setServerNoteBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + serverNote_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:demo.cmd.CrossProxyStc) + } + + // @@protoc_insertion_point(class_scope:demo.cmd.CrossProxyStc) + private static final com.huangzj.cmd.gen.CrossProxyStc DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.huangzj.cmd.gen.CrossProxyStc(); + } + + public static com.huangzj.cmd.gen.CrossProxyStc getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CrossProxyStc parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.huangzj.cmd.gen.CrossProxyStc getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.java new file mode 100644 index 0000000..7b7df56 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/CrossProxyStcOrBuilder.java @@ -0,0 +1,48 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public interface CrossProxyStcOrBuilder extends + // @@protoc_insertion_point(interface_extends:demo.cmd.CrossProxyStc) + com.google.protobuf.MessageOrBuilder { + + /** + * string trace = 1; + * @return The trace. + */ + java.lang.String getTrace(); + /** + * string trace = 1; + * @return The bytes for trace. + */ + com.google.protobuf.ByteString + getTraceBytes(); + + /** + * int64 cross_time_ms = 2; + * @return The crossTimeMs. + */ + long getCrossTimeMs(); + + /** + *
+   ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+   * 
+ * + * string server_note = 3; + * @return The serverNote. + */ + java.lang.String getServerNote(); + /** + *
+   ** 路径2:区服在跨服返回后再追加的说明,证明「经区服二次处理」。 
+   * 
+ * + * string server_note = 3; + * @return The bytes for serverNote. + */ + com.google.protobuf.ByteString + getServerNoteBytes(); +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbService.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbService.java new file mode 100644 index 0000000..48e969c --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbService.java @@ -0,0 +1,141 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/pb_service.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf enum {@code demo.cmd.PbService} + */ +public enum PbService + implements com.google.protobuf.ProtocolMessageEnum { + /** + * Default = 0; + */ + Default(0), + /** + * Service_1 = 1; + */ + Service_1(1), + /** + * Service_2 = 2; + */ + Service_2(2), + /** + * Service_3 = 3; + */ + Service_3(3), + /** + * Service_4 = 4; + */ + Service_4(4), + UNRECOGNIZED(-1), + ; + + /** + * Default = 0; + */ + public static final int Default_VALUE = 0; + /** + * Service_1 = 1; + */ + public static final int Service_1_VALUE = 1; + /** + * Service_2 = 2; + */ + public static final int Service_2_VALUE = 2; + /** + * Service_3 = 3; + */ + public static final int Service_3_VALUE = 3; + /** + * Service_4 = 4; + */ + public static final int Service_4_VALUE = 4; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static PbService valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static PbService forNumber(int value) { + switch (value) { + case 0: return Default; + case 1: return Service_1; + case 2: return Service_2; + case 3: return Service_3; + case 4: return Service_4; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + PbService> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PbService findValueByNumber(int number) { + return PbService.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.huangzj.cmd.gen.PbServiceOuterClass.getDescriptor().getEnumTypes().get(0); + } + + private static final PbService[] VALUES = values(); + + public static PbService valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private PbService(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:demo.cmd.PbService) +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbServiceOuterClass.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbServiceOuterClass.java new file mode 100644 index 0000000..be50ebc --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/PbServiceOuterClass.java @@ -0,0 +1,39 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/pb_service.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +public final class PbServiceOuterClass { + private PbServiceOuterClass() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\034serverProto/pb_service.proto\022\010demo.cmd" + + "*T\n\tPbService\022\013\n\007Default\020\000\022\r\n\tService_1\020" + + "\001\022\r\n\tService_2\020\002\022\r\n\tService_3\020\003\022\r\n\tServi" + + "ce_4\020\004B\027\n\023com.huangzj.cmd.genP\001b\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service1_Method.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service1_Method.java new file mode 100644 index 0000000..b776ddb --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service1_Method.java @@ -0,0 +1,114 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf enum {@code demo.cmd.Service1_Method} + */ +public enum Service1_Method + implements com.google.protobuf.ProtocolMessageEnum { + /** + * Default1 = 0; + */ + Default1(0), + /** + * Method1 = 1; + */ + Method1(1), + UNRECOGNIZED(-1), + ; + + /** + * Default1 = 0; + */ + public static final int Default1_VALUE = 0; + /** + * Method1 = 1; + */ + public static final int Method1_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Service1_Method valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Service1_Method forNumber(int value) { + switch (value) { + case 0: return Default1; + case 1: return Method1; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Service1_Method> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Service1_Method findValueByNumber(int number) { + return Service1_Method.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.getDescriptor().getEnumTypes().get(0); + } + + private static final Service1_Method[] VALUES = values(); + + public static Service1_Method valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Service1_Method(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:demo.cmd.Service1_Method) +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service2_Method.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service2_Method.java new file mode 100644 index 0000000..d42d928 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service2_Method.java @@ -0,0 +1,114 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf enum {@code demo.cmd.Service2_Method} + */ +public enum Service2_Method + implements com.google.protobuf.ProtocolMessageEnum { + /** + * Default2 = 0; + */ + Default2(0), + /** + * Method2 = 1; + */ + Method2(1), + UNRECOGNIZED(-1), + ; + + /** + * Default2 = 0; + */ + public static final int Default2_VALUE = 0; + /** + * Method2 = 1; + */ + public static final int Method2_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Service2_Method valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Service2_Method forNumber(int value) { + switch (value) { + case 0: return Default2; + case 1: return Method2; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Service2_Method> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Service2_Method findValueByNumber(int number) { + return Service2_Method.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.getDescriptor().getEnumTypes().get(1); + } + + private static final Service2_Method[] VALUES = values(); + + public static Service2_Method valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Service2_Method(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:demo.cmd.Service2_Method) +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service3_Method.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service3_Method.java new file mode 100644 index 0000000..458dc76 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service3_Method.java @@ -0,0 +1,114 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + * Protobuf enum {@code demo.cmd.Service3_Method} + */ +public enum Service3_Method + implements com.google.protobuf.ProtocolMessageEnum { + /** + * Default3 = 0; + */ + Default3(0), + /** + * Method3 = 1; + */ + Method3(1), + UNRECOGNIZED(-1), + ; + + /** + * Default3 = 0; + */ + public static final int Default3_VALUE = 0; + /** + * Method3 = 1; + */ + public static final int Method3_VALUE = 1; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Service3_Method valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Service3_Method forNumber(int value) { + switch (value) { + case 0: return Default3; + case 1: return Method3; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Service3_Method> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Service3_Method findValueByNumber(int number) { + return Service3_Method.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.getDescriptor().getEnumTypes().get(2); + } + + private static final Service3_Method[] VALUES = values(); + + public static Service3_Method valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Service3_Method(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:demo.cmd.Service3_Method) +} + diff --git a/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service4_Method.java b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service4_Method.java new file mode 100644 index 0000000..d037ff5 --- /dev/null +++ b/ProtoBufModule/target/generated-sources/protobuf/java/com/huangzj/cmd/gen/Service4_Method.java @@ -0,0 +1,127 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: serverProto/cmd_rpc.proto + +// Protobuf Java Version: 3.25.3 +package com.huangzj.cmd.gen; + +/** + *
+ ** 区服 ↔ 跨服链路控制(注册、心跳),不经客户端 TCP。 
+ * 
+ * + * Protobuf enum {@code demo.cmd.Service4_Method} + */ +public enum Service4_Method + implements com.google.protobuf.ProtocolMessageEnum { + /** + * Default4 = 0; + */ + Default4(0), + /** + * Register = 1; + */ + Register(1), + /** + * Heartbeat = 2; + */ + Heartbeat(2), + UNRECOGNIZED(-1), + ; + + /** + * Default4 = 0; + */ + public static final int Default4_VALUE = 0; + /** + * Register = 1; + */ + public static final int Register_VALUE = 1; + /** + * Heartbeat = 2; + */ + public static final int Heartbeat_VALUE = 2; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Service4_Method valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Service4_Method forNumber(int value) { + switch (value) { + case 0: return Default4; + case 1: return Register; + case 2: return Heartbeat; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Service4_Method> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Service4_Method findValueByNumber(int number) { + return Service4_Method.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.huangzj.cmd.gen.CmdRpc.getDescriptor().getEnumTypes().get(3); + } + + private static final Service4_Method[] VALUES = values(); + + public static Service4_Method valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Service4_Method(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:demo.cmd.Service4_Method) +} + diff --git a/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..56f99bf --- /dev/null +++ b/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,55 @@ +com\huangzj\cmd\gen\CrossProxyCtsOrBuilder.class +com\huangzj\cmd\gen\CmdEchoCts.class +com\huangzj\cmd\gen\CmdRpc.class +com\huangzj\cmd\gen\CrossProxyStcOrBuilder.class +com\huangzj\cmd\gen\CrossToGameStc$Builder.class +com\huangzj\cmd\gen\CrossToGameStc$1.class +com\huangzj\cmd\gen\CmdEchoStc$Builder.class +com\huangzj\comm\gen\EchoRequest.class +com\huangzj\cmd\gen\CmdEchoCts$1.class +com\huangzj\comm\gen\EchoResponse.class +com\huangzj\cross\gen\CrossPing.class +com\huangzj\cmd\gen\CmdEchoStc$1.class +com\huangzj\cmd\gen\CmdEchoCts$Builder.class +com\huangzj\cross\gen\CrossPong.class +com\huangzj\cmd\gen\CrossProxyStc.class +com\huangzj\comm\gen\EchoRequest$Builder.class +com\huangzj\comm\gen\EchoRequest$1.class +com\huangzj\cross\gen\CrossPongOrBuilder.class +com\huangzj\cmd\gen\CrossToGameCts$1.class +com\huangzj\cmd\gen\CrossToGameCts.class +com\huangzj\cmd\gen\CmdRpcEnvelope$1.class +com\huangzj\cmd\gen\CrossForwardCts$Builder.class +com\huangzj\comm\gen\EchoRequestOrBuilder.class +com\huangzj\cross\gen\CrossPong$1.class +com\huangzj\cmd\gen\CrossForwardStc.class +com\huangzj\cmd\gen\CrossProxyCts.class +com\huangzj\cmd\gen\CrossToGameStc.class +com\huangzj\cross\gen\CrossPingOrBuilder.class +com\huangzj\cmd\gen\CrossProxyCts$1.class +com\huangzj\cmd\gen\CrossToGameCtsOrBuilder.class +com\huangzj\cmd\gen\CrossProxyStc$1.class +com\huangzj\cmd\gen\CrossToGameStcOrBuilder.class +com\huangzj\comm\gen\EchoResponse$1.class +com\huangzj\cmd\gen\CmdRpcEnvelopeOrBuilder.class +com\huangzj\cross\gen\CrossPing$1.class +com\huangzj\cmd\gen\CmdRpcEnvelope$Builder.class +com\huangzj\comm\gen\EchoProto.class +com\huangzj\cmd\gen\CrossProxyCts$Builder.class +com\huangzj\cmd\gen\CmdEchoCtsOrBuilder.class +com\huangzj\cmd\gen\CmdEchoStcOrBuilder.class +com\huangzj\comm\gen\EchoResponse$Builder.class +com\huangzj\cmd\gen\CrossForwardStc$Builder.class +com\huangzj\cmd\gen\CrossForwardCts.class +com\huangzj\cmd\gen\CrossForwardStc$1.class +com\huangzj\cmd\gen\CrossForwardCts$1.class +com\huangzj\cmd\gen\CmdRpcEnvelope.class +com\huangzj\cmd\gen\CrossForwardCtsOrBuilder.class +com\huangzj\cmd\gen\CrossProxyStc$Builder.class +com\huangzj\cmd\gen\CrossForwardStcOrBuilder.class +com\huangzj\cmd\gen\CmdEchoStc.class +com\huangzj\cross\gen\CrossLink.class +com\huangzj\cmd\gen\CrossToGameCts$Builder.class +com\huangzj\comm\gen\EchoResponseOrBuilder.class +com\huangzj\cross\gen\CrossPing$Builder.class +com\huangzj\cross\gen\CrossPong$Builder.class diff --git a/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..2d86c2d --- /dev/null +++ b/ProtoBufModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,29 @@ +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossProxyStcOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\Service4_Method.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkRegisterStc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdRpcEnvelope.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkRegisterCtsOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\Service2_Method.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\Service3_Method.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdEchoCtsOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossForwardCts.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkRegisterCts.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossForwardStcOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossForwardStc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdRpcEnvelopeOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\Service1_Method.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkHeartbeatCtsOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkHeartbeatStc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\PbServiceOuterClass.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkHeartbeatCts.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossForwardCtsOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkRegisterStcOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdEchoStcOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossProxyStc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdRpc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdEchoStc.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\PbService.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CmdEchoCts.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossProxyCts.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossProxyCtsOrBuilder.java +F:\coding\comm-framework\ProtoBufModule\target\generated-sources\protobuf\java\com\huangzj\cmd\gen\CrossLinkHeartbeatStcOrBuilder.java diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/any.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/any.proto new file mode 100644 index 0000000..eff44e5 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/any.proto @@ -0,0 +1,162 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/anypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// // or ... +// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +// foo = any.unpack(Foo.getDefaultInstance()); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := anypb.New(foo) +// if err != nil { +// ... +// } +// ... +// foo := &pb.Foo{} +// if err := any.UnmarshalTo(foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/api.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/api.proto new file mode 100644 index 0000000..4222351 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/api.proto @@ -0,0 +1,207 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/source_context.proto"; +import "google/protobuf/type.proto"; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "ApiProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/apipb"; + +// Api is a light-weight descriptor for an API Interface. +// +// Interfaces are also described as "protocol buffer services" in some contexts, +// such as by the "service" keyword in a .proto file, but they are different +// from API Services, which represent a concrete implementation of an interface +// as opposed to simply a description of methods and bindings. They are also +// sometimes simply referred to as "APIs" in other contexts, such as the name of +// this message itself. See https://cloud.google.com/apis/design/glossary for +// detailed terminology. +message Api { + // The fully qualified name of this interface, including package name + // followed by the interface's simple name. + string name = 1; + + // The methods of this interface, in unspecified order. + repeated Method methods = 2; + + // Any metadata attached to the interface. + repeated Option options = 3; + + // A version string for this interface. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version is + // omitted, it defaults to zero. If the entire version field is empty, the + // major version is derived from the package name, as outlined below. If the + // field is not empty, the version in the package name will be verified to be + // consistent with what is provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // interface, which must end in `v`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, non-GA interfaces. + // + string version = 4; + + // Source context for the protocol buffer service represented by this + // message. + SourceContext source_context = 5; + + // Included interfaces. See [Mixin][]. + repeated Mixin mixins = 6; + + // The source syntax of the service. + Syntax syntax = 7; +} + +// Method represents a method of an API interface. +message Method { + // The simple name of this method. + string name = 1; + + // A URL of the input message type. + string request_type_url = 2; + + // If true, the request is streamed. + bool request_streaming = 3; + + // The URL of the output message type. + string response_type_url = 4; + + // If true, the response is streamed. + bool response_streaming = 5; + + // Any metadata attached to the method. + repeated Option options = 6; + + // The source syntax of this method. + Syntax syntax = 7; +} + +// Declares an API Interface to be included in this interface. The including +// interface must redeclare all the methods from the included interface, but +// documentation and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including interface plus the [root][] path if +// specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +message Mixin { + // The fully qualified name of the interface which is included. + string name = 1; + + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + string root = 2; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/descriptor.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/descriptor.proto new file mode 100644 index 0000000..4748643 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/descriptor.proto @@ -0,0 +1,1218 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + +syntax = "proto2"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// The full set of known editions. +enum Edition { + // A placeholder for an unknown edition value. + EDITION_UNKNOWN = 0; + + // Legacy syntax "editions". These pre-date editions, but behave much like + // distinct editions. These can't be used to specify the edition of proto + // files, but feature definitions must supply proto2/proto3 defaults for + // backwards compatibility. + EDITION_PROTO2 = 998; + EDITION_PROTO3 = 999; + + // Editions that have been released. The specific values are arbitrary and + // should not be depended on, but they will always be time-ordered for easy + // comparison. + EDITION_2023 = 1000; + + // Placeholder editions for testing feature resolution. These should not be + // used or relyed on outside of tests. + EDITION_1_TEST_ONLY = 1; + EDITION_2_TEST_ONLY = 2; + EDITION_99997_TEST_ONLY = 99997; + EDITION_99998_TEST_ONLY = 99998; + EDITION_99999_TEST_ONLY = 99999; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file. + optional Edition edition = 14; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + message Declaration { + // The extension number declared within the extension range. + optional int32 number = 1; + + // The fully-qualified name of the extension field. There must be a leading + // dot in front of the full name. + optional string full_name = 2; + + // The fully-qualified type name of the extension field. Unlike + // Metadata.type, Declaration.type must have a leading dot for messages + // and enums. + optional string type = 3; + + // If true, indicates that the number is reserved in the extension range, + // and any extension field with the number will fail to compile. Set this + // when a declared extension field is deleted. + optional bool reserved = 5; + + // If true, indicates that the extension must be defined as repeated. + // Otherwise the extension must be defined as optional. + optional bool repeated = 6; + + reserved 4; // removed is_repeated + } + + // For external users: DO NOT USE. We are in the process of open sourcing + // extension declaration and executing internal cleanups before it can be + // used externally. + repeated Declaration declaration = 2 [retention = RETENTION_SOURCE]; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The verification state of the extension range. + enum VerificationState { + // All the extensions of the range must be declared. + DECLARATION = 0; + UNVERIFIED = 1; + } + + // The verification state of the range. + // TODO: flip the default to DECLARATION once all empty ranges + // are marked as UNVERIFIED. + optional VerificationState verification = 3 [default = UNVERIFIED]; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported after google.protobuf. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. In Editions, the group wire format + // can be enabled via the `message_encoding` feature. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REPEATED = 3; + // The required label is only allowed in google.protobuf. In proto3 and Editions + // it's explicitly prohibited. In Editions, the `field_presence` feature + // can be used to get this behavior. + LABEL_REQUIRED = 2; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must be belong to a oneof to + // signal to old proto3 clients that presence is tracked for this field. This + // oneof is known as a "synthetic" oneof, and this field must be its sole + // member (each proto3 optional field gets its own synthetic oneof). Synthetic + // oneofs exist in the descriptor only, and do not generate any API. Synthetic + // oneofs must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default = false]; + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + optional bool php_generic_services = 42 [default = false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + // + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // + // This should only be used as a temporary measure against broken builds due + // to the change in behavior for JSON field name conflicts. + // + // TODO This is legacy behavior we plan to remove once downstream + // teams have had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 12; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is only implemented to support use of + // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + // type "bytes" in the open source release -- sorry, we'll try to include + // other types in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + // The option [ctype=CORD] may be applied to a non-repeated field of type + // "bytes". It indicates that in C++, the data should be stored in a Cord + // instead of a string. For very large strings, this may reduce memory + // fragmentation. It may also allow better performance when parsing from a + // Cord, or when parsing with aliasing enabled, as the parsed Cord may then + // alias the original buffer. + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. This option is prohibited in + // Editions, but the `repeated_field_encoding` feature can be used to control + // the behavior. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + // + // As of May 2022, lazy verifies the contents of the byte stream during + // parsing. An invalid byte stream will cause the overall parsing to fail. + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + // Indicate that the field value should not be printed out when using debug + // formats, e.g. when the field contains sensitive credentials. + optional bool debug_redact = 16 [default = false]; + + // If set to RETENTION_SOURCE, the option will be omitted from the binary. + // Note: as of January 2023, support for this is in progress and does not yet + // have an effect (b/264593489). + enum OptionRetention { + RETENTION_UNKNOWN = 0; + RETENTION_RUNTIME = 1; + RETENTION_SOURCE = 2; + } + + optional OptionRetention retention = 17; + + // This indicates the types of entities that the field may apply to when used + // as an option. If it is unset, then the field may be freely used as an + // option on any kind of entity. Note: as of January 2023, support for this is + // in progress and does not yet have an effect (b/264593489). + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0; + TARGET_TYPE_FILE = 1; + TARGET_TYPE_EXTENSION_RANGE = 2; + TARGET_TYPE_MESSAGE = 3; + TARGET_TYPE_FIELD = 4; + TARGET_TYPE_ONEOF = 5; + TARGET_TYPE_ENUM = 6; + TARGET_TYPE_ENUM_ENTRY = 7; + TARGET_TYPE_SERVICE = 8; + TARGET_TYPE_METHOD = 9; + } + + repeated OptionTargetType targets = 19; + + message EditionDefault { + optional Edition edition = 3; + optional string value = 2; // Textproto value. + } + repeated EditionDefault edition_defaults = 20; + + // Any features defined in the specific edition. + optional FeatureSet features = 21; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype + reserved 18; // reserve target, target_obsolete_do_not_use +} + +message OneofOptions { + // Any features defined in the specific edition. + optional FeatureSet features = 1; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // TODO Remove this legacy behavior once downstream teams have + // had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 7; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // Any features defined in the specific edition. + optional FeatureSet features = 2; + + // Indicate that fields annotated with this enum value should not be printed + // out when using debug formats, e.g. when the field contains sensitive + // credentials. + optional bool debug_redact = 3 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Any features defined in the specific edition. + optional FeatureSet features = 34; + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 + [default = IDEMPOTENCY_UNKNOWN]; + + // Any features defined in the specific edition. + optional FeatureSet features = 35; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Features + +// TODO Enums in C++ gencode (and potentially other languages) are +// not well scoped. This means that each of the feature enums below can clash +// with each other. The short names we've chosen maximize call-site +// readability, but leave us very open to this scenario. A future feature will +// be designed and implemented to handle this, hopefully before we ever hit a +// conflict here. +message FeatureSet { + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0; + EXPLICIT = 1; + IMPLICIT = 2; + LEGACY_REQUIRED = 3; + } + optional FieldPresence field_presence = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" }, + edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" } + ]; + + enum EnumType { + ENUM_TYPE_UNKNOWN = 0; + OPEN = 1; + CLOSED = 2; + } + optional EnumType enum_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" } + ]; + + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0; + PACKED = 1; + EXPANDED = 2; + } + optional RepeatedFieldEncoding repeated_field_encoding = 3 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" } + ]; + + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0; + NONE = 1; + VERIFY = 2; + } + optional Utf8Validation utf8_validation = 4 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "NONE" }, + edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" } + ]; + + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0; + LENGTH_PREFIXED = 1; + DELIMITED = 2; + } + optional MessageEncoding message_encoding = 5 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" } + ]; + + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0; + ALLOW = 1; + LEGACY_BEST_EFFORT = 2; + } + optional JsonFormat json_format = 6 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" } + ]; + + reserved 999; + + extensions 1000; // for Protobuf C++ + extensions 1001; // for Protobuf Java + + extensions 9995 to 9999; // For internal testing +} + +// A compiled specification for the defaults of a set of features. These +// messages are generated from FeatureSet extensions and can be used to seed +// feature resolution. The resolution with this object becomes a simple search +// for the closest matching edition, followed by proto merges. +message FeatureSetDefaults { + // A map from every known edition with a unique set of defaults to its + // defaults. Not all editions may be contained here. For a given edition, + // the defaults at the closest matching edition ordered at or before it should + // be used. This field must be in strict ascending order by edition. + message FeatureSetEditionDefault { + optional Edition edition = 3; + optional FeatureSet features = 2; + } + repeated FeatureSetEditionDefault defaults = 1; + + // The minimum supported edition (inclusive) when this was constructed. + // Editions before this will not have defaults. + optional Edition minimum_edition = 4; + + // The maximum known edition (inclusive) when this was constructed. Editions + // after this will not have reliable defaults. + optional Edition maximum_edition = 5; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified object. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + + // Represents the identified object's effect on the element in the original + // .proto file. + enum Semantic { + // There is no effect or the effect is indescribable. + NONE = 0; + // The element is set or otherwise mutated. + SET = 1; + // An alias to the element is returned. + ALIAS = 2; + } + optional Semantic semantic = 5; + } +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/duration.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/duration.proto new file mode 100644 index 0000000..41f40c2 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/duration.proto @@ -0,0 +1,115 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/durationpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (duration.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +message Duration { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/empty.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/empty.proto new file mode 100644 index 0000000..b87c89d --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/empty.proto @@ -0,0 +1,51 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/emptypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +message Empty {} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/field_mask.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/field_mask.proto new file mode 100644 index 0000000..b28334b --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/field_mask.proto @@ -0,0 +1,245 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "FieldMaskProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/fieldmaskpb"; +option cc_enable_arenas = true; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (their value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// paths string. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily apply to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. +// +// If a sub-message is specified in the last position of the field mask for an +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: +// +// f { +// b { +// d: 1 +// x: 2 +// } +// c: [1] +// } +// +// And an update message: +// +// f { +// b { +// d: 10 +// } +// c: [2] +// } +// +// then if the field mask is: +// +// paths: ["f.b", "f.c"] +// +// then the result will be: +// +// f { +// b { +// d: 10 +// x: 2 +// } +// c: [1, 2] +// } +// +// An implementation may provide options to override this default behavior for +// repeated and message fields. +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +// +// # Field Masks and Oneof Fields +// +// Field masks treat fields in oneofs just as regular fields. Consider the +// following message: +// +// message SampleMessage { +// oneof test_oneof { +// string name = 4; +// SubMessage sub_message = 9; +// } +// } +// +// The field mask can be: +// +// mask { +// paths: "name" +// } +// +// Or: +// +// mask { +// paths: "sub_message" +// } +// +// Note that oneof type names ("test_oneof" in this case) cannot be used in +// paths. +// +// ## Field Mask Verification +// +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an +// `INVALID_ARGUMENT` error if any path is unmappable. +message FieldMask { + // The set of field mask paths. + repeated string paths = 1; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/source_context.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/source_context.proto new file mode 100644 index 0000000..135f50f --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/source_context.proto @@ -0,0 +1,48 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "SourceContextProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/sourcecontextpb"; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +message SourceContext { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + string file_name = 1; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/struct.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/struct.proto new file mode 100644 index 0000000..1bf0c1a --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/struct.proto @@ -0,0 +1,95 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/structpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +message Struct { + // Unordered map of dynamically typed values. + map fields = 1; +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of these +// variants. Absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +message Value { + // The kind of value. + oneof kind { + // Represents a null value. + NullValue null_value = 1; + // Represents a double value. + double number_value = 2; + // Represents a string value. + string string_value = 3; + // Represents a boolean value. + bool bool_value = 4; + // Represents a structured value. + Struct struct_value = 5; + // Represents a repeated `Value`. + ListValue list_value = 6; + } +} + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +enum NullValue { + // Null value. + NULL_VALUE = 0; +} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +message ListValue { + // Repeated field of dynamically typed values. + repeated Value values = 1; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/timestamp.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/timestamp.proto new file mode 100644 index 0000000..fd0bc07 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/timestamp.proto @@ -0,0 +1,144 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/timestamppb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Java `Instant.now()`. +// +// Instant now = Instant.now(); +// +// Timestamp timestamp = +// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +// .setNanos(now.getNano()).build(); +// +// Example 6: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard +// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using +// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +// ) to obtain a formatter capable of generating timestamps in this format. +// +message Timestamp { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/type.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/type.proto new file mode 100644 index 0000000..48cb11e --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/type.proto @@ -0,0 +1,193 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/any.proto"; +import "google/protobuf/source_context.proto"; + +option cc_enable_arenas = true; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TypeProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/typepb"; + +// A protocol buffer message type. +message Type { + // The fully qualified message name. + string name = 1; + // The list of fields. + repeated Field fields = 2; + // The list of types appearing in `oneof` definitions in this type. + repeated string oneofs = 3; + // The protocol buffer options. + repeated Option options = 4; + // The source context. + SourceContext source_context = 5; + // The source syntax. + Syntax syntax = 6; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 7; +} + +// A single field of a message type. +message Field { + // Basic field types. + enum Kind { + // Field type unknown. + TYPE_UNKNOWN = 0; + // Field type double. + TYPE_DOUBLE = 1; + // Field type float. + TYPE_FLOAT = 2; + // Field type int64. + TYPE_INT64 = 3; + // Field type uint64. + TYPE_UINT64 = 4; + // Field type int32. + TYPE_INT32 = 5; + // Field type fixed64. + TYPE_FIXED64 = 6; + // Field type fixed32. + TYPE_FIXED32 = 7; + // Field type bool. + TYPE_BOOL = 8; + // Field type string. + TYPE_STRING = 9; + // Field type group. Proto2 syntax only, and deprecated. + TYPE_GROUP = 10; + // Field type message. + TYPE_MESSAGE = 11; + // Field type bytes. + TYPE_BYTES = 12; + // Field type uint32. + TYPE_UINT32 = 13; + // Field type enum. + TYPE_ENUM = 14; + // Field type sfixed32. + TYPE_SFIXED32 = 15; + // Field type sfixed64. + TYPE_SFIXED64 = 16; + // Field type sint32. + TYPE_SINT32 = 17; + // Field type sint64. + TYPE_SINT64 = 18; + } + + // Whether a field is optional, required, or repeated. + enum Cardinality { + // For fields with unknown cardinality. + CARDINALITY_UNKNOWN = 0; + // For optional fields. + CARDINALITY_OPTIONAL = 1; + // For required fields. Proto2 syntax only. + CARDINALITY_REQUIRED = 2; + // For repeated fields. + CARDINALITY_REPEATED = 3; + } + + // The field type. + Kind kind = 1; + // The field cardinality. + Cardinality cardinality = 2; + // The field number. + int32 number = 3; + // The field name. + string name = 4; + // The field type URL, without the scheme, for message or enumeration + // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + string type_url = 6; + // The index of the field type in `Type.oneofs`, for message or enumeration + // types. The first type has index 1; zero means the type is not in the list. + int32 oneof_index = 7; + // Whether to use alternative packed wire representation. + bool packed = 8; + // The protocol buffer options. + repeated Option options = 9; + // The field JSON name. + string json_name = 10; + // The string value of the default value of this field. Proto2 syntax only. + string default_value = 11; +} + +// Enum type definition. +message Enum { + // Enum type name. + string name = 1; + // Enum value definitions. + repeated EnumValue enumvalue = 2; + // Protocol buffer options. + repeated Option options = 3; + // The source context. + SourceContext source_context = 4; + // The source syntax. + Syntax syntax = 5; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 6; +} + +// Enum value definition. +message EnumValue { + // Enum value name. + string name = 1; + // Enum value number. + int32 number = 2; + // Protocol buffer options. + repeated Option options = 3; +} + +// A protocol buffer option, which can be attached to a message, field, +// enumeration, etc. +message Option { + // The option's name. For protobuf built-in options (options defined in + // descriptor.proto), this is the short name. For example, `"map_entry"`. + // For custom options, it should be the fully-qualified name. For example, + // `"google.api.http"`. + string name = 1; + // The option's value packed in an Any message. If the value is a primitive, + // the corresponding wrapper type defined in google/protobuf/wrappers.proto + // should be used. If the value is an enum, it should be stored as an int32 + // value using the google.protobuf.Int32Value type. + Any value = 2; +} + +// The syntax in which a protocol buffer element is defined. +enum Syntax { + // Syntax `proto2`. + SYNTAX_PROTO2 = 0; + // Syntax `proto3`. + SYNTAX_PROTO3 = 1; + // Syntax `editions`. + SYNTAX_EDITIONS = 2; +} diff --git a/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/wrappers.proto b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/wrappers.proto new file mode 100644 index 0000000..1959fa5 --- /dev/null +++ b/ProtoBufModule/target/protoc-dependencies/019e7612450e4ea202a8e34b6be3f337/google/protobuf/wrappers.proto @@ -0,0 +1,123 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/wrapperspb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "WrappersProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +message DoubleValue { + // The double value. + double value = 1; +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +message FloatValue { + // The float value. + float value = 1; +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +message Int64Value { + // The int64 value. + int64 value = 1; +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +message UInt64Value { + // The uint64 value. + uint64 value = 1; +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +message Int32Value { + // The int32 value. + int32 value = 1; +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +message UInt32Value { + // The uint32 value. + uint32 value = 1; +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +message BoolValue { + // The bool value. + bool value = 1; +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +message StringValue { + // The string value. + string value = 1; +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +message BytesValue { + // The bytes value. + bytes value = 1; +} diff --git a/ProtoBufModule/target/protoc-plugins/protoc-3.25.3-windows-x86_64.exe b/ProtoBufModule/target/protoc-plugins/protoc-3.25.3-windows-x86_64.exe new file mode 100644 index 0000000000000000000000000000000000000000..add9eeb59c5c737d3bcd84267186eacce1f302aa GIT binary patch literal 11554627 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%0DqgkM~PN6>sGVVahEdyP4=7m>8n4`*-7H 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ù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 z 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

    jTQbr=>KhLSot!^;fAh+*iL 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%0DtKJF-3SQQ$~#4_qpcdQcYB=^I^!-wF0sG+Q&s z$H88Y0VL%J&atV3G2o1^l}cs@w8nr&N%~~w23)Z5lmjK&4z3|qJ7C%G6Nl-S#F+T(q{M_`?pU26;U$`+d)a0`%Q1FQJ|0yOZ3C3 z`XNNuX8%?ZgEfj7FqFY0S;z+Yj7NB*1RKHG2Jif5=6C6K{eK6o1(Y*zL$Nh1n@y6U+1iWk=>DZ@H&&5Ap>Jam*&qh5 zf_VfI#dh3aaZHVJ6l!o}>JE_kz!!>Pjb<1z7Gx5_8VgXcZ436R!~AHX0t$0izKt=r zE1*aX(e6@10ZKOCz*tBJ63$S~_?0#m=&&P5_=+IGDp$Fg_Vw=siEFPNB;(&q0FpfY z@DG4weIFZ0imDYzuw9GlL~Zgr6avwk{L*ksm}Kz^n55$hR|9;lw*3?jTQf)Ir(r@; z!bFnB^loeWjXogf>(5l9Wq{mLCx#?_QleH9J2oz|7=BX~VVI*CO6v9*mT87=&Cre# zR@g!bcwqnk1cegGUDQb?S;7M*6{L0`UqMMXz5z-&o)1+h`RP-(BhIPSDB-IJO1}NV za%LoJysSpV z%UXu674K#BikDS(l14%H8tSS+wn0SoU}h7q02vLj1Rxt`%{qU$Ez;&BCCDUc`)xk| zQw1`bau&!O0vGGB%0z)3zhX`y%I~%)!(E!8q;8*Knr7Id8QMX{3R@tPG3&}n3S^SI zfb7-z3S?42fUJpp1!Vu^8-T0@<-deagUPRdtU%__AmghD$f`g4ovNtnCp*YCzMcSN zEA+!Zpo)g}vVrXNiUg{t3Ki5SsgSxps6Wv0pzPyFfD(03B}Odfr&Uo6lL946cx}JY zF8^4eWD&?Ll+;R6>!8X+DEXW?;t)9@%5a%xD5=|L`0YoE;d0H;j*<#IwNN6eXvh@` zC6c?KPnr!SkIz-JT3W+xR?=lhm!TFO?>xhr)z0KH`5d)O zelJ3D&0{vptk%!_zUux~-XE;)Z{&UJCZV~S_dlrnOL_kd@6}9}?PJa^SM$qPk7rZL zOg6SLVmD-MApK}fe^-<~wu>j;ki|jCOw}nbil&Smfg&^0A`&;vR>jJS5*On+7i>y# zjm%7!lK5Fo{L68XIxN$~wY*|xdPulW+j(ifTiL^!%{55(nmS)R@1nf%GAo_`T_e=B zKHnsGqiiJFfG1QY9F|!Q)Fvs18%c`8BVfnkbds*z`(u3$92
  1. 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�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

    ^h7p>odll?Vrt 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%0AOv)$j`@R&U8hwy|%W4JAV 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