You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2023/01/10 03:02:13 UTC

[rocketmq-clients] branch rust_dev updated (c4240219 -> 20d26d89)

This is an automated email from the ASF dual-hosted git repository.

lizhanhui pushed a change to branch rust_dev
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git


    from c4240219 Trigger on paths
     new 472c295a Update README.md
     new f0590118 Fix trigger
     new b47f448b Polish doc to trigger CI
     new b665bb79 Fix CI trigger for C++/C#/Golang/Rust
     new 48628e1b Polish readme (#95)
     new 24e17cdd Enable retry for message acknowledge/changeInvisibleDuration in push consumer (#94)
     new 3532284c Use different message receiving backoff delay for different error (#96)
     new 57e5fbe2 Add long polling timeout tolerance (#98)
     new 7f3517b0 Refine throttle handling of message publishing (#97)
     new 763b4104 Fix typo (#99)
     new 193084c0 Polish code (#100)
     new e9a3e48f Add RPC timeout tolerance for long-polling (#101)
     new 0d2f4c48 Adjust the order of features in the table (#102)
     new 2df1d9f3 Polish the part of ProcessQueue#dostats (#103)
     new 08f401d9 Update the algorithm of ExponentialBackoffRetryPolicy (#104)
     new 3ce9d643 Bugfix: forget to retry if failed to change invisible duration (#105)
     new 6315fc90 Adjust process queue expire time (#106)
     new c25fb0f2 Fix the naming issue (#107)
     new 12a5108e Bugfix: reverse result in ClientSessionHandler#isEndpointsDeprecated (#108)
     new f0c8ba14 Exclude negative delivery latency from metrics (#109)
     new 6f005631 Add more comments (#110)
     new 4614a994 Polish code (#111)
     new 9e9d537f Add scm url into pom.xml (#112)
     new 1e673d4d Add distribution management (#114)
     new 3a5def54 Add apache parent pom (#115)
     new 582b1ac1 Add notice which contains the annocement of protobuffer (#116)
     new 3c5da35e Remove maven-jacoco-plugin (#118)
     new 34ecd54d Add rust build badge (#119)
     new 5ced982f Revert "Add rust build badge (#119)" (#120)
     new c9a791b5 Rate limit async producer example (#117)
     new 5b782a22 Update NOTICE, adding more dependent libraies references
     new e1d8a81d Add opencenus into NOTICE
     new 871d00dd Update .gitignore (#121)
     new abe06600 Support RBE (#122)
     new f9b2e37b Ajust bazel options
     new 9d81d3ec Polish NOTICE (#124)
     new 116a4a97 Release java client 5.0.0 (#125)
     new 8773b6e7 Revert "Release java client 5.0.0 (#125)"
     new c442aa83 [maven-release-plugin] prepare release rocketmq-client-java-5.0.0
     new e7b93632 [maven-release-plugin] prepare for next development iteration
     new 5114cba9 Test GitHub Action Secrets (#123)
     new e72a9a08 Add misspell check action (#126)
     new 9dd0eeb9 Fix typos (#128)
     new 636db864 Support codecov (#129)
     new 9d8f098a Remove coverage from readme (#130)
     new d183e69f Add coverage GitHub Action (#134)
     new 9e95e2a8 Using pull_request_target rather than pull_request to trigger CI
     new 78948ec2 Trigger codecov on pull request (#138)
     new 145ae05d Bump codecov-action to v3
     new ac819c4e Enable carryforward for codecov
     new babf7d10 Add apache header for codecov.yml
     new 1eca3ba3 Set path for codecov flag
     new 244a7079 Bump codecov action to v3
     new 641a8d5c Update path in codecov flag
     new 7fa594a7 Update path in codecov config
     new 60a86d47 Delete redundant path in codecov (#143)
     new e72b1295 Extract RPC status checker (#145)
     new 5077d2ee Add more unit test (#146)
     new 79f814d2 Add more unit tests (#148)
     new f1cde976 fix const SPAN_ATTRIBUTE_VALUE_MESSAGING_PROTOCOL_VERSION (#149)
     new 3a41e9e1 Add tests back (#150)
     new 48176c68 Streamed test outputs for Windows OS
     new 1045d257 Trigger build (#152)
     new a938c01b pull_request_target is not a good fit
     new bcd06758 Remove RpcInvocation (#153)
     new b8091220 Add back tests (#154)
     new be9fdfb3 fix bug in changeInvisibleDuration (#155)
     new 632264df Bugfix: blocking message receiveing may exhausts all async worker threads (#157)
     new 226fe3d0 golang (#160)
     new 64c2dbdc Enhance the mergeability: add misspell-check into contexts of the protected branch (#163)
     new 1fd7047d Fix omissive label in .asf.yaml (#164)
     new f49a715a Refactor message interceptor (#162)
     new 9a32740d Enhance the mergeability: add check-license into contexts of the protected branch (#165)
     new 5667810b Remove protected branch (#172)
     new f7545ab7 Block sensitive data in example (#175)
     new 05b3f732 Revert "Remove protected branch (#172)" (#174)
     new 76fe9201 Add more unit tests (#176)
     new 9c7d8ba5 Exclude annotation-apis from the shaded jar (#177)
     new ab9c06ae change 'consumerGroup' to 'groupName' (#161)
     new 6ae8f160 Add ClientSessionImplTest (#183)
     new 7a041c1f Remove redundant sleep in ut (#184)
     new 6995beb5 Reveal client index in each thread (#185)
     new 9626f7ea Ensure message is consumed even though process queue is dropped (#186)
     new 3db3e302 Add more tests (#188)
     new 18fab7d3 Add more tests (#188)
     new 88a560be Add maven badge (#189)
     new 695a567f Generate client's signature in ClientManager (#190)
     new 8b42625b Add more unit test for ClientImpl (#191)
     new 315ec201 Refine the log (#192)
     new c0eba234 Refine the simple consumer example (#193)
     new 1afb9c95 Polish code (#194)
     new b21a739c Release rocketmq-client-java 5.0.1 (#195)
     new 499b6f83 Collect the build results of different language (#199)
     new fd9a4586 Fix typo (#200)
     new 12895a95 Add docs about client id (#202)
     new 2e3ca358 Remove stale label from issues/PRs on updates/comments (#201)
     new e73736fa Update protocol files (#204)
     new 651c7be8 Add unit test for ConfigFileCredentialsProvider (#205)
     new 33110369 Clean up unused code: Remove PushConsumer (#207)
     new b3ce70d8 Polish example of async simple consumer (#208)
     new abe7d0ab Implement golang messageId codec(#166) (#196)
     new 7bef87e4 Update github action matrix (#210)
     new 3b87ef89 Execute go test during golang's workflow (#211)
     new 0977a1b5 Add comments on RpcClient#telemetry (#212)
     new 534da765 Initial commit of observability docs (#214)
     new 55d5af99 Update C# log path (#213)
     new 25a4eb4d Remove misspell-check from required_status_checks (#216)
     new e9115a61 Revert "Remove misspell-check from required_status_checks (#216)" (#218)
     new f9919d70 Add C# log path (#217)
     new 24a48722 Add FIFO/Timed message publishment examples (#209)
     new 84442309 Add build-result into status check (#219)
     new c83acc3e Log error with requestId (#215)
     new a3283be0 Add golang coverage badge (#220)
     new cb312fb5 Update C# log path (#221)
     new 6b848a16 Complete SimpleConsumer example (#222)
     new 7f516e70 Enable markdown lint (#225)
     new 92b2b225 Enable secrets inherit for cpp build (#226)
     new b0331260 Fix markdown lint style (#227)
     new 8c01f751 Emit endpoints of each client during statistics (#230)
     new f018e862 Polish code (#231)
     new ac3135ec [ISSUE #233]Add copyright xml file for java client (#234)
     new 0c277c66 Add docs about header (#203)
     new 2c48d776 Update transport docs (#236)
     new 736cca58 WIP: add docs about flow control (#237)
     new 9e5c0c63 Add examples for C# SDK (#238)
     new 43427a31 Update features supported by Golang SDK (#239)
     new 9037ae32 Add more docs for retry policy of producer (#240)
     new ce8f3c29 Fix typo (#245)
     new 1f9f87ae Record millisecond for logging (#243)
     new 89d2ed2d Java: Adjust default thread num of threadpool (#247)
     new 2bf7262e Golang: Fix typo (#248)
     new cd4d0996 Exclude abseil from API definition (#251)
     new 82af5fde Add initial max body size in client setting frame for producer (#250)
     new a2a38fa9 Release java client 5.0.2 (#252)
     new 7159af59 Release java client 5.0.2 (#253)
     new 609865bb Fix the time zone to generate message id (#254)
     new 15bbe198 remove redundant configuration
     new 9a2c2b21 format code
     new 4015f0d4 Add more comments for ProducerImpl#send0 (#259)
     new b859beb1 Bump logback to 1.2.9 (#261)
     new 0fa3f285 Update asf.yaml to modify the notifications (#260)
     new 8b3bdda8 Bump rocketmq proto to 2.0.1 (#263)
     new eec636f4 Shutdown the ClientMeterManager during the closing of producer/consumer (#266)
     new ad17929e Add extraProperties for PublishingMessageImpl
     new 2ac2631f Add unit test for PublishingMessageImpl#getExtraProperties
     new 3b9f9a6f Add more ut (#267)
     new f471f53a Bump grpc/protobuf to 1.50.0/3.21.7 (#268)
     new 655f2591 Revert "Add extraProperties for PublishingMessageImpl" (#271)
     new e1150c05 Define index of LoadBalancer as static (#272)
     new 4dbd0959 Revert "Define index of LoadBalancer as static (#272)"
     new a457fe57 Reserve index of load balancer when topic route is updated
     new 1065bef5 Polish ProcessIdConverter
     new c25593a2 Remove MessageBuilder#setTraceContext and MessageView#getTraceContext
     new eae40762 Add PHP git ignore file (#280)
     new 2a43186b Implement native php client #255 (#278)
     new 29d75df9 Setup PHP CI pipeline (#282)
     new 5990d1c1 fix options bug
     new d2ac82c8 Rename LOGGER to log
     new a5dbc0a7 Add PHP build badge
     new 18b8aec6 Delay setting wait time
     new 17338333 [maven-release-plugin] prepare release java-5.0.3
     new 4708771c [maven-release-plugin] prepare for next development iteration
     new afba6b37 golang: fix longpolling timeout (#290)
     new a6175db5 golang: add more log for debug mode (#292)
     new c4f17aca Bump version to 5.0.1
     new a5e6e53f Remove redundant clientSession
     new cd5bf9c3 Divide example by the message & producer/consumer type
     new 7433aace Bugfix: producer does not override BuildClientSetting
     new 36c4fdf2 Bugfix: ClientSessionImpl#syncSettings should not block asynchronous worker thread
     new 73a32069 Polish java example
     new 2a5e25f4 Fix typo
     new ff05a7c8 Disable keep alive for gRPC channel
     new da4f699c Remove redundant code
     new 6a3a3935 Add client type into HeartbeatRequest
     new db79a011 Adjust default thread pool core size
     new 42a971c7 Remove shutdown hook
     new cc705625 [maven-release-plugin] prepare release java-5.0.4
     new 7e669491 [maven-release-plugin] prepare for next development iteration
     new afda8941 fix isolated endpoints in LoadBalancer (#316)
     new cb190577 golang: fast to the ok state (#295)
     new 9f041f7a improve ReceiveMessage performance
     new 448d3878 Bump OT to 1.3.1
     new a928c369 Align ClientId generation in dotnet driver with others
     new 939f76e7 Align dotnet driver with other drivers regarding FIFO message handling
     new c8ffe313 Add missing periodic heartbeat in dotnet driver
     new 281f7b6b C# SimpleConsumer should take request timeout into consideration when polling for messages
     new 2b90a2b8 Update observability.md (#320)
     new d846f5d0 Bump golang version to 5.0.1-rc1
     new 7121ae7b Add missing unsubscribe in dotnet SimpleConsumer
     new e341aeec Minor optimization
     new 6ba23bcc dotnet use project versioning
     new 936f805b Update csharp/rocketmq-client-csharp/rocketmq-client-csharp.csproj
     new 86734268 Fix SimpleConsumer with multiple topics
     new 4cc89f30 Align dotnet Producer on BornTimestamp/QueueId with other languages
     new f3afd32b dotnet: allow changing SimpleConsumer polling time
     new 86d9797a Polish docs (#327)
     new 5e8abec1 Polish docs (#328)
     new 0f341848 Fix typo (#329)
     new b37b03b5 Typo fix (#330)
     new 385ba400 golang: add error handling in simple consumer (#336)
     new 1ac33ac1 Polish docs (#338)
     new 52c6f80c feat: Make each 'Client' have an independent 'ClientManager' (#235)
     new 20d26d89 Add ProducerBuilder

The 203 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .asf.yaml                                          |   13 +-
 .../client/mocks/BUILD.bazel => .codecov.yml       |   31 +-
 .github/workflows/build.yml                        |   70 ++
 .github/workflows/cpp_build.yml                    |   44 +-
 .github/workflows/cpp_coverage.yml                 |   21 +
 .github/workflows/csharp_build.yml                 |   21 +-
 .github/workflows/golang_build.yml                 |   20 +-
 .github/workflows/golang_coverage.yml              |   29 +
 .github/workflows/java_build.yml                   |   18 +-
 .github/workflows/java_coverage.yml                |   33 +
 .../{license-checker.yaml => license_checker.yaml} |    3 +-
 .github/workflows/markdown_lint.yml                |   17 +
 .github/workflows/misspell_check.yaml              |   18 +
 .github/workflows/php_build.yml                    |   24 +
 .github/workflows/rust.yml                         |    4 +-
 .github/workflows/stale.yml                        |    2 +
 .gitignore                                         |   13 +-
 .licenserc.yaml                                    |    2 +
 NOTICE                                             |   51 +
 README-CN.md                                       |   71 ++
 README.md                                          |   61 +-
 cpp/.bazelrc                                       |   32 +-
 cpp/README.md                                      |  107 +-
 cpp/WORKSPACE                                      |   15 +-
 cpp/docs/gtest.md                                  |   14 +-
 cpp/docs/test_coverage.md                          |    8 +-
 cpp/examples/ExampleProducer.cpp                   |    7 +-
 cpp/examples/ExampleProducerWithAsync.cpp          |  101 +-
 cpp/examples/ExampleProducerWithFifoMessage.cpp    |    4 +-
 cpp/examples/ExampleProducerWithTimedMessage.cpp   |    6 +-
 .../ExampleProducerWithTransactionalMessage.cpp    |    4 +-
 cpp/examples/ExamplePushConsumer.cpp               |    4 +-
 cpp/examples/ExampleSimpleConsumer.cpp             |    4 +-
 cpp/include/rocketmq/Message.h                     |   29 +-
 cpp/proto/apache/rocketmq/v2/definition.proto      |    2 +-
 cpp/source/admin/tests/AdminServerTest.cpp         |   65 ++
 .../{client/mocks => admin/tests}/BUILD.bazel      |   17 +-
 cpp/source/base/Message.cpp                        |    5 +-
 cpp/source/base/MessageExt.cpp                     |    6 +-
 cpp/source/base/MixAll.cpp                         |    2 +-
 cpp/source/base/tests/BUILD.bazel                  |   34 +
 .../InvocationContextTest.cpp}                     |   24 +-
 cpp/source/base/tests/MessageBuilderTest.cpp       |    4 +-
 cpp/source/base/tests/ThreadPoolTest.cpp           |   76 ++
 .../UniqueIdGeneratorTest.cpp}                     |   31 +-
 cpp/source/client/ReceiveMessageStreamReader.cpp   |    2 +-
 cpp/source/client/mocks/BUILD.bazel                |    2 +-
 cpp/source/client/mocks/include/ClientMock.h       |   19 +-
 cpp/source/client/tests/BUILD.bazel                |   75 ++
 cpp/source/client/tests/ClientManagerTest.cpp      |  226 ++++
 .../ClientTest.cpp}                                |   28 +-
 cpp/source/client/tests/RpcClientTest.cpp          |   82 ++
 .../tests/TlsHelperTest.cpp}                       |   20 +-
 .../client/tests/TopicAssignmentInfoTest.cpp       |  117 ++
 cpp/source/client/tests/TracingUtilityTest.cpp     |   50 +
 cpp/source/rocketmq/ClientImpl.cpp                 |    4 +-
 cpp/source/rocketmq/ProcessQueueImpl.cpp           |    7 +-
 cpp/source/rocketmq/Producer.cpp                   |    2 +-
 cpp/source/rocketmq/ProducerImpl.cpp               |   42 +-
 cpp/source/rocketmq/PushConsumerImpl.cpp           |    6 +-
 cpp/source/rocketmq/SendContext.cpp                |   13 +-
 cpp/source/rocketmq/SimpleConsumerImpl.cpp         |    3 +-
 cpp/source/rocketmq/include/ClientImpl.h           |    4 +
 cpp/source/rocketmq/include/PushConsumerImpl.h     |    2 -
 .../{client/mocks => scheduler/tests}/BUILD.bazel  |   22 +-
 cpp/source/scheduler/tests/SchedulerTest.cpp       |  124 +++
 cpp/source/trace/TracingUtility.cpp                |    8 +-
 csharp/README.md                                   |   34 +-
 csharp/examples/ProducerDelayMessageExample.cs     |   67 ++
 csharp/examples/ProducerFifoMessageExample.cs      |   70 ++
 csharp/examples/ProducerNormalMessageExample.cs    |   64 ++
 csharp/examples/Program.cs                         |   82 --
 .../IClient.cs => examples/QuickStart.cs}          |   69 +-
 csharp/examples/SimpleConsumerExample.cs           |   67 ++
 csharp/examples/examples.csproj                    |   16 +-
 csharp/rocketmq-client-csharp/AccessPoint.cs       |   52 +-
 csharp/rocketmq-client-csharp/Client.cs            |  339 +++---
 csharp/rocketmq-client-csharp/ClientConfig.cs      |   47 +-
 csharp/rocketmq-client-csharp/ClientManager.cs     |   39 +-
 .../ConfigFileCredentialsProvider.cs               |   45 +-
 csharp/rocketmq-client-csharp/IClient.cs           |    6 +-
 csharp/rocketmq-client-csharp/IClientConfig.cs     |    4 -
 csharp/rocketmq-client-csharp/MetadataConstants.cs |    6 +
 csharp/rocketmq-client-csharp/Producer.cs          |  102 +-
 .../Protos/apache/rocketmq/v2/definition.proto     |  287 +++--
 .../Protos/apache/rocketmq/v2/service.proto        |   97 +-
 .../rocketmq-client-csharp/PublishLoadBalancer.cs  |    9 +-
 csharp/rocketmq-client-csharp/PushConsumer.cs      |  261 -----
 csharp/rocketmq-client-csharp/RpcClient.cs         |    9 +-
 csharp/rocketmq-client-csharp/Session.cs           |   48 +-
 csharp/rocketmq-client-csharp/Signature.cs         |   12 +-
 csharp/rocketmq-client-csharp/SimpleConsumer.cs    |  258 +++--
 ...nagerFactory.cs => SubscriptionLoadBalancer.cs} |   43 +-
 .../rocketmq-client-csharp.csproj                  |   13 +-
 .../rocketmq-client-csharp.nlog                    |    4 +-
 csharp/tests/ClientManagerTest.cs                  |    2 +-
 csharp/tests/ConfigFileCredentialsProviderTest.cs  |   28 +-
 csharp/tests/ProducerTest.cs                       |  144 +--
 csharp/tests/PushConsumerTest.cs                   |  119 ---
 csharp/tests/RpcClientTest.cs                      |    6 +-
 csharp/tests/SignatureTest.cs                      |   11 +-
 csharp/tests/SimpleConsumerTest.cs                 |   45 +-
 .../artwork/message_receiving_in_push_consumer.png |  Bin 402721 -> 445254 bytes
 docs/design.md                                     |   15 +-
 docs/observability.md                              |   16 +
 docs/transport.md                                  |   15 +
 docs/workflow.md                                   |   15 +-
 golang/README.md                                   |   26 +-
 golang/client.go                                   |  535 ++++++++--
 golang/client_manager.go                           |  294 +++--
 golang/client_manager_mock.go                      |  209 ++++
 golang/client_manager_test.go                      |  343 ++++++
 golang/client_mock.go                              |  168 +++
 golang/client_options.go                           |   22 +-
 golang/client_test.go                              |   76 ++
 golang/config.go                                   |    9 +-
 golang/conn.go                                     |    3 +-
 golang/conn_options.go                             |    3 +-
 golang/consumer.go                                 |  164 +--
 golang/{consumer_options.go => error.go}           |   53 +-
 golang/example/consumer/main.go                    |   60 --
 golang/example/consumer/simple_consumer/main.go    |   97 ++
 golang/example/producer/{ => async}/main.go        |   72 +-
 golang/example/producer/{ => delay}/main.go        |   61 +-
 golang/example/producer/{ => fifo}/main.go         |   60 +-
 golang/example/producer/{ => normal}/main.go       |   59 +-
 golang/example/producer/{ => transaction}/main.go  |   73 +-
 golang/go.mod                                      |   45 +-
 golang/go.sum                                      |  122 ++-
 ...{publishing_loadBalancer.go => loadBalancer.go} |   60 +-
 golang/log.go                                      |  110 ++
 golang/message.go                                  |  334 +++++-
 .../rpc/RpcInvocation.java => golang/message_id.go |   49 +-
 golang/message_id_codec.go                         |  159 +++
 .../message_id_codec_test.go                       |   44 +-
 golang/metadata/metadata.go                        |    2 +-
 golang/metric.go                                   |  220 ++++
 golang/pkg/utils/utils.go                          |  278 +++++
 golang/pkg/utils/utils_test.go                     |  212 ++++
 golang/producer.go                                 |  350 ++++--
 golang/producer_options.go                         |  116 +-
 golang/producer_test.go                            |  226 ++++
 golang/protocol/v2/admin.pb.go                     |   13 +-
 golang/protocol/v2/admin_grpc.pb.go                |    2 +-
 golang/protocol/v2/definition.pb.go                |  905 ++++++++++++----
 golang/protocol/v2/service.pb.go                   | 1119 +++++---------------
 golang/protocol/v2/service_grpc.pb.go              |    2 +-
 golang/publishing_message.go                       |   51 +-
 golang/rpc_client.go                               |  273 ++---
 golang/rpc_client_mock.go                          |  227 ++++
 golang/simple_consumer.go                          |  426 ++++++++
 golang/simple_consumer_options.go                  |  193 ++++
 golang/trace.go                                    |   77 ++
 golang/transaction.go                              |  121 +++
 golang/{config.go => user_agent.go}                |   30 +-
 java/README-CN.md                                  |   72 ++
 java/README.md                                     |   56 +-
 java/client-apis/pom.xml                           |    6 +-
 .../rocketmq/client/apis/ClientConfiguration.java  |    2 +-
 .../client/apis/ClientConfigurationBuilder.java    |   10 +-
 .../client/apis/consumer/PushConsumer.java         |    2 +-
 .../client/apis/consumer/PushConsumerBuilder.java  |    6 +-
 .../client/apis/consumer/SimpleConsumer.java       |    6 +
 .../apis/consumer/SimpleConsumerBuilder.java       |    9 +-
 .../rocketmq/client/apis/message/Message.java      |    7 -
 .../client/apis/message/MessageBuilder.java        |    8 -
 .../rocketmq/client/apis/message/MessageView.java  |    2 -
 .../rocketmq/client/apis/producer/Producer.java    |    3 +-
 .../client/apis/producer/ProducerBuilder.java      |    3 +-
 java/client-shade/pom.xml                          |   49 +-
 .../src/main/resources/rocketmq.logback.xml        |    4 +-
 java/client/pom.xml                                |   13 +-
 .../client/java/example/AsyncProducerExample.java  |   15 +-
 .../java/example/AsyncSimpleConsumerExample.java   |   26 +-
 .../java/example/ProducerDelayMessageExample.java  |   13 +-
 .../java/example/ProducerFifoMessageExample.java   |   13 +-
 .../java/example/ProducerNormalMessageExample.java |   11 +-
 .../example/ProducerTransactionMessageExample.java |   13 +-
 .../client/java/example/PushConsumerExample.java   |    4 +-
 .../client/java/example/SimpleConsumerExample.java |   10 +-
 .../java/exception/InternalErrorException.java     |    4 +
 .../java/exception/PaymentRequiredException.java   |   23 +-
 .../StatusChecker.java}                            |   85 +-
 .../rocketmq/client/java/hook/Attribute.java       |   29 +-
 .../rocketmq/client/java/hook/AttributeKey.java    |   56 +
 .../java/hook/CompositedMessageInterceptor.java    |   75 ++
 .../client/java/hook/MessageInterceptor.java       |   26 +-
 .../java/hook/MessageInterceptorContext.java       |   23 +-
 .../java/hook/MessageInterceptorContextImpl.java   |   82 ++
 .../apache/rocketmq/client/java/impl/Client.java   |   14 +-
 .../rocketmq/client/java/impl/ClientImpl.java      |  347 +++---
 .../rocketmq/client/java/impl/ClientManager.java   |   69 +-
 .../client/java/impl/ClientManagerImpl.java        |  201 ++--
 .../client/java/impl/ClientSessionImpl.java        |  113 +-
 .../impl/{ClientSettings.java => Settings.java}    |   23 +-
 .../client/java/impl/consumer/ConsumeService.java  |   24 +-
 .../client/java/impl/consumer/ConsumeTask.java     |   25 +-
 .../client/java/impl/consumer/ConsumerImpl.java    |  142 ++-
 .../java/impl/consumer/FifoConsumeService.java     |   54 +-
 .../client/java/impl/consumer/ProcessQueue.java    |  101 +-
 .../impl/consumer/ProcessQueueGaugeObserver.java   |   90 ++
 .../java/impl/consumer/ProcessQueueImpl.java       |  488 +++++----
 .../java/impl/consumer/PushConsumerImpl.java       |  244 ++---
 ...Settings.java => PushSubscriptionSettings.java} |   34 +-
 .../java/impl/consumer/ReceiveMessageResult.java   |   46 +-
 .../java/impl/consumer/SimpleConsumerImpl.java     |  171 ++-
 ...ttings.java => SimpleSubscriptionSettings.java} |   39 +-
 .../java/impl/consumer/StandardConsumeService.java |   64 +-
 .../impl/consumer/SubscriptionLoadBalancer.java    |   10 +-
 .../java/impl/producer/ClientSessionHandler.java   |   51 +-
 .../client/java/impl/producer/ProducerImpl.java    |  262 ++---
 .../java/impl/producer/PublishingLoadBalancer.java |   10 +-
 ...oducerSettings.java => PublishingSettings.java} |   26 +-
 .../client/java/impl/producer/SendReceiptImpl.java |   79 +-
 .../client/java/impl/producer/TransactionImpl.java |   15 +-
 .../client/java/logging/CustomConsoleAppender.java |    5 +-
 .../client/java/logging/ProcessIdConverter.java    |   32 +-
 .../client/java/message/GeneralMessage.java}       |   43 +-
 .../client/java/message/GeneralMessageImpl.java    |  168 +++
 .../client/java/message/MessageBuilderImpl.java    |   13 +-
 .../client/java/message/MessageCommon.java         |  160 ---
 .../client/java/message/MessageIdCodec.java        |    3 +-
 .../rocketmq/client/java/message/MessageImpl.java  |   26 +-
 .../client/java/message/MessageViewImpl.java       |   62 +-
 .../client/java/message/PublishingMessageImpl.java |   24 +-
 .../client/java/message/protocol/Resource.java     |   12 +-
 .../rocketmq/client/java/metrics/ClientMeter.java  |   34 +-
 ...tMeterProvider.java => ClientMeterManager.java} |  105 +-
 .../{Metric.java => EmptyGaugeObserver.java}       |   27 +-
 .../client/java/metrics/GaugeObserver.java         |   25 +-
 .../client/java/metrics/HistogramEnum.java         |    2 +-
 .../java/metrics/MessageMeterInterceptor.java      |  185 ++--
 .../rocketmq/client/java/metrics/Metric.java       |    9 +
 .../misc/{ThreadFactoryImpl.java => ClientId.java} |   44 +-
 .../rocketmq/client/java/misc/Dispatcher.java      |  118 ---
 .../client/java/misc/ThreadFactoryImpl.java        |    4 +
 .../rocketmq/client/java/misc/Utilities.java       |   27 +-
 .../java/retry/CustomizedBackoffRetryPolicy.java   |   10 +-
 .../java/retry/ExponentialBackoffRetryPolicy.java  |   28 +-
 .../rocketmq/client/java/retry/RetryPolicy.java    |    5 +-
 .../rocketmq/client/java/rpc/AuthInterceptor.java  |    9 +-
 .../client/java/rpc/LoggingInterceptor.java        |   10 +-
 .../apache/rocketmq/client/java/rpc/RpcClient.java |   33 +-
 .../rocketmq/client/java/rpc/RpcClientImpl.java    |  134 +--
 .../apache/rocketmq/client/java/rpc/RpcFuture.java |   82 ++
 .../apache/rocketmq/client/java/rpc/Signature.java |    5 +-
 java/client/src/main/resources/logback.xml         |    4 +-
 .../client/java/exception/StatusCheckerTest.java   |  578 ++++++++++
 .../rocketmq/client/java/impl/ClientImplTest.java  |  147 +++
 .../client/java/impl/ClientManagerImplTest.java    |   63 +-
 .../client/java/impl/ClientSessionImplTest.java    |  244 +++++
 .../java/impl/consumer/ConsumeServiceTest.java     |  115 ++
 .../client/java/impl/consumer/ConsumeTaskTest.java |   56 +
 .../java/impl/consumer/ConsumerImplTest.java       |  123 +++
 .../java/impl/consumer/FifoConsumeServiceTest.java |   18 +-
 .../java/impl/consumer/ProcessQueueImplTest.java   |  206 ++--
 .../impl/consumer/PushConsumerBuilderImplTest.java |    4 +-
 .../java/impl/consumer/PushConsumerImplTest.java   |    4 +-
 .../consumer/PushSubscriptionSettingsTest.java     |  122 +++
 .../impl/consumer/SimpleConsumerBuilderTest.java   |    4 +-
 .../java/impl/consumer/SimpleConsumerImplTest.java |   61 +-
 .../consumer/SimpleSubscriptionSettingsTest.java   |   95 ++
 .../impl/consumer/StandardConsumeServiceTest.java  |   56 +-
 .../impl/producer/ProducerBuilderImplTest.java     |   35 +
 .../java/impl/producer/ProducerImplTest.java       |  184 +---
 .../impl/producer/PublishingLoadBalancerTest.java  |   73 ++
 .../java/impl/producer/TransactionImplTest.java    |   93 ++
 .../java/logging/CustomConsoleAppenderTest.java    |   28 +-
 .../java/message/GeneralMessageImplTest.java       |  117 ++
 .../client/java/message/MessageImplTest.java       |    1 -
 .../client/java/message/MessageViewImplTest.java   |  160 +++
 .../protocol/EncodingTest.java}                    |   34 +-
 .../client/java/message/protocol/ResourceTest.java |   54 +
 .../java/metrics/ClientMeterManagerTest.java       |   53 +
 .../client/java/metrics/ClientMeterTest.java       |   95 ++
 .../java/metrics/MessageMeterHandlerTest.java      |  251 +++++
 .../rocketmq/client/java/misc/UtilitiesTest.java   |   64 ++
 .../retry/CustomizedBackoffRetryPolicyTest.java    |  101 +-
 .../retry/ExponentialBackoffRetryPolicyTest.java   |  152 +++
 .../apache/rocketmq/client/java/tool/TestBase.java |   90 +-
 java/example.md                                    |  141 ---
 java/pom.xml                                       |   66 +-
 java/style/copyright/Apache.xml                    |   23 +
 java/style/spotbugs-suppressions.xml               |   13 +-
 php/.gitignore                                     |    4 +
 php/Consumer.php                                   |   48 +
 php/Producer.php                                   |   73 ++
 php/composer.json                                  |   16 +
 php/grpc/Apache/Rocketmq/V2/AckMessageEntry.php    |   85 ++
 php/grpc/Apache/Rocketmq/V2/AckMessageRequest.php  |  132 +++
 php/grpc/Apache/Rocketmq/V2/AckMessageResponse.php |  106 ++
 .../Apache/Rocketmq/V2/AckMessageResultEntry.php   |  137 +++
 php/grpc/Apache/Rocketmq/V2/Address.php            |   85 ++
 php/grpc/Apache/Rocketmq/V2/AddressScheme.php      |   58 +
 php/grpc/Apache/Rocketmq/V2/AdminClient.php        |   49 +
 php/grpc/Apache/Rocketmq/V2/Assignment.php         |   68 ++
 php/grpc/Apache/Rocketmq/V2/Broker.php             |  159 +++
 .../Rocketmq/V2/ChangeInvisibleDurationRequest.php |  217 ++++
 .../V2/ChangeInvisibleDurationResponse.php         |  102 ++
 .../Apache/Rocketmq/V2/ChangeLogLevelRequest.php   |   58 +
 .../Rocketmq/V2/ChangeLogLevelRequest/Level.php    |   66 ++
 .../Rocketmq/V2/ChangeLogLevelRequest_Level.php    |   16 +
 .../Apache/Rocketmq/V2/ChangeLogLevelResponse.php  |   58 +
 php/grpc/Apache/Rocketmq/V2/ClientType.php         |   58 +
 php/grpc/Apache/Rocketmq/V2/Code.php               |  375 +++++++
 php/grpc/Apache/Rocketmq/V2/CustomizedBackoff.php  |   69 ++
 php/grpc/Apache/Rocketmq/V2/Digest.php             |   98 ++
 php/grpc/Apache/Rocketmq/V2/DigestType.php         |   67 ++
 php/grpc/Apache/Rocketmq/V2/Encoding.php           |   53 +
 .../Apache/Rocketmq/V2/EndTransactionRequest.php   |  203 ++++
 .../Apache/Rocketmq/V2/EndTransactionResponse.php  |   68 ++
 php/grpc/Apache/Rocketmq/V2/Endpoints.php          |   85 ++
 php/grpc/Apache/Rocketmq/V2/ExponentialBackoff.php |  134 +++
 php/grpc/Apache/Rocketmq/V2/FilterExpression.php   |   85 ++
 php/grpc/Apache/Rocketmq/V2/FilterType.php         |   53 +
 .../V2/ForwardMessageToDeadLetterQueueRequest.php  |  213 ++++
 .../V2/ForwardMessageToDeadLetterQueueResponse.php |   68 ++
 php/grpc/Apache/Rocketmq/V2/HeartbeatRequest.php   |   95 ++
 php/grpc/Apache/Rocketmq/V2/HeartbeatResponse.php  |   68 ++
 php/grpc/Apache/Rocketmq/V2/Language.php           |   68 ++
 php/grpc/Apache/Rocketmq/V2/Message.php            |  182 ++++
 php/grpc/Apache/Rocketmq/V2/MessageQueue.php       |  186 ++++
 php/grpc/Apache/Rocketmq/V2/MessageType.php        |   70 ++
 .../Apache/Rocketmq/V2/MessagingServiceClient.php  |  266 +++++
 php/grpc/Apache/Rocketmq/V2/Metric.php             |  109 ++
 .../Rocketmq/V2/NotifyClientTerminationRequest.php |   75 ++
 .../V2/NotifyClientTerminationResponse.php         |   68 ++
 php/grpc/Apache/Rocketmq/V2/Permission.php         |   63 ++
 .../Rocketmq/V2/PrintThreadStackTraceCommand.php   |   58 +
 php/grpc/Apache/Rocketmq/V2/Publishing.php         |  153 +++
 .../Apache/Rocketmq/V2/QueryAssignmentRequest.php  |  142 +++
 .../Apache/Rocketmq/V2/QueryAssignmentResponse.php |   95 ++
 php/grpc/Apache/Rocketmq/V2/QueryRouteRequest.php  |  120 +++
 php/grpc/Apache/Rocketmq/V2/QueryRouteResponse.php |   95 ++
 .../Apache/Rocketmq/V2/ReceiveMessageRequest.php   |  247 +++++
 .../Apache/Rocketmq/V2/ReceiveMessageResponse.php  |  129 +++
 .../V2/RecoverOrphanedTransactionCommand.php       |   95 ++
 php/grpc/Apache/Rocketmq/V2/Resource.php           |   96 ++
 php/grpc/Apache/Rocketmq/V2/RetryPolicy.php        |  123 +++
 php/grpc/Apache/Rocketmq/V2/SendMessageRequest.php |   58 +
 .../Apache/Rocketmq/V2/SendMessageResponse.php     |  106 ++
 php/grpc/Apache/Rocketmq/V2/SendResultEntry.php    |  149 +++
 php/grpc/Apache/Rocketmq/V2/Settings.php           |  374 +++++++
 php/grpc/Apache/Rocketmq/V2/Status.php             |   85 ++
 php/grpc/Apache/Rocketmq/V2/Subscription.php       |  273 +++++
 php/grpc/Apache/Rocketmq/V2/SubscriptionEntry.php  |  105 ++
 php/grpc/Apache/Rocketmq/V2/SystemProperties.php   |  853 +++++++++++++++
 php/grpc/Apache/Rocketmq/V2/TelemetryCommand.php   |  281 +++++
 php/grpc/Apache/Rocketmq/V2/ThreadStackTrace.php   |   95 ++
 .../Apache/Rocketmq/V2/TransactionResolution.php   |   53 +
 php/grpc/Apache/Rocketmq/V2/TransactionSource.php  |   53 +
 php/grpc/Apache/Rocketmq/V2/UA.php                 |  169 +++
 .../Apache/Rocketmq/V2/VerifyMessageCommand.php    |   95 ++
 .../Apache/Rocketmq/V2/VerifyMessageResult.php     |   58 +
 php/grpc/GPBMetadata/Apache/Rocketmq/V2/Admin.php  |  Bin 0 -> 961 bytes
 .../GPBMetadata/Apache/Rocketmq/V2/Definition.php  |  Bin 0 -> 5552 bytes
 .../GPBMetadata/Apache/Rocketmq/V2/Service.php     |  Bin 0 -> 7300 bytes
 .../protocol}/apache/rocketmq/v2/admin.proto       |    0
 .../protocol}/apache/rocketmq/v2/definition.proto  |    2 +-
 .../protocol}/apache/rocketmq/v2/service.proto     |    0
 rust/Cargo.toml                                    |    3 +-
 rust/examples/standard_producer.rs                 |   26 +
 rust/proto/apache/rocketmq/v2/definition.proto     |    2 +-
 rust/src/lib.rs                                    |    7 +
 rust/src/message.rs                                |    1 +
 rust/src/producer.rs                               |   81 +-
 rust/src/util.rs                                   |   17 +
 style/markdown/config.yml                          |  151 +++
 368 files changed, 23634 insertions(+), 6656 deletions(-)
 copy cpp/source/client/mocks/BUILD.bazel => .codecov.yml (68%)
 create mode 100644 .github/workflows/build.yml
 create mode 100644 .github/workflows/cpp_coverage.yml
 create mode 100644 .github/workflows/golang_coverage.yml
 create mode 100644 .github/workflows/java_coverage.yml
 rename .github/workflows/{license-checker.yaml => license_checker.yaml} (93%)
 create mode 100644 .github/workflows/markdown_lint.yml
 create mode 100644 .github/workflows/misspell_check.yaml
 create mode 100644 .github/workflows/php_build.yml
 create mode 100644 NOTICE
 create mode 100644 README-CN.md
 create mode 100644 cpp/source/admin/tests/AdminServerTest.cpp
 copy cpp/source/{client/mocks => admin/tests}/BUILD.bazel (70%)
 copy cpp/source/base/{MessageExt.cpp => tests/InvocationContextTest.cpp} (57%)
 create mode 100644 cpp/source/base/tests/ThreadPoolTest.cpp
 copy cpp/source/base/{MessageExt.cpp => tests/UniqueIdGeneratorTest.cpp} (53%)
 create mode 100644 cpp/source/client/tests/BUILD.bazel
 create mode 100644 cpp/source/client/tests/ClientManagerTest.cpp
 copy cpp/source/client/{mocks/include/ReceiveMessageCallbackMock.h => tests/ClientTest.cpp} (59%)
 create mode 100644 cpp/source/client/tests/RpcClientTest.cpp
 copy cpp/source/{base/MessageExt.cpp => client/tests/TlsHelperTest.cpp} (66%)
 create mode 100644 cpp/source/client/tests/TopicAssignmentInfoTest.cpp
 create mode 100644 cpp/source/client/tests/TracingUtilityTest.cpp
 copy cpp/source/{client/mocks => scheduler/tests}/BUILD.bazel (68%)
 create mode 100644 cpp/source/scheduler/tests/SchedulerTest.cpp
 create mode 100644 csharp/examples/ProducerDelayMessageExample.cs
 create mode 100644 csharp/examples/ProducerFifoMessageExample.cs
 create mode 100644 csharp/examples/ProducerNormalMessageExample.cs
 delete mode 100644 csharp/examples/Program.cs
 copy csharp/{rocketmq-client-csharp/IClient.cs => examples/QuickStart.cs} (68%)
 create mode 100644 csharp/examples/SimpleConsumerExample.cs
 delete mode 100644 csharp/rocketmq-client-csharp/PushConsumer.cs
 rename csharp/rocketmq-client-csharp/{ClientManagerFactory.cs => SubscriptionLoadBalancer.cs} (50%)
 delete mode 100644 csharp/tests/PushConsumerTest.cs
 create mode 100644 docs/observability.md
 create mode 100644 docs/transport.md
 create mode 100644 golang/client_manager_mock.go
 create mode 100644 golang/client_manager_test.go
 create mode 100644 golang/client_mock.go
 create mode 100644 golang/client_test.go
 rename golang/{consumer_options.go => error.go} (52%)
 delete mode 100644 golang/example/consumer/main.go
 create mode 100644 golang/example/consumer/simple_consumer/main.go
 copy golang/example/producer/{ => async}/main.go (55%)
 copy golang/example/producer/{ => delay}/main.go (62%)
 copy golang/example/producer/{ => fifo}/main.go (62%)
 copy golang/example/producer/{ => normal}/main.go (62%)
 rename golang/example/producer/{ => transaction}/main.go (51%)
 rename golang/{publishing_loadBalancer.go => loadBalancer.go} (60%)
 create mode 100644 golang/log.go
 rename java/client/src/main/java/org/apache/rocketmq/client/java/rpc/RpcInvocation.java => golang/message_id.go (57%)
 create mode 100644 golang/message_id_codec.go
 rename java/client/src/main/java/org/apache/rocketmq/client/java/metrics/MessageCacheObserver.java => golang/message_id_codec_test.go (51%)
 create mode 100644 golang/metric.go
 create mode 100644 golang/pkg/utils/utils.go
 create mode 100644 golang/pkg/utils/utils_test.go
 create mode 100644 golang/producer_test.go
 create mode 100644 golang/rpc_client_mock.go
 create mode 100644 golang/simple_consumer.go
 create mode 100644 golang/simple_consumer_options.go
 create mode 100644 golang/trace.go
 create mode 100644 golang/transaction.go
 copy golang/{config.go => user_agent.go} (62%)
 create mode 100644 java/README-CN.md
 copy golang/utils/utils.go => java/client/src/main/java/org/apache/rocketmq/client/java/exception/PaymentRequiredException.java (71%)
 copy java/client/src/main/java/org/apache/rocketmq/client/java/{impl/consumer/ReceiveMessageResult.java => exception/StatusChecker.java} (50%)
 copy golang/utils/utils.go => java/client/src/main/java/org/apache/rocketmq/client/java/hook/Attribute.java (72%)
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/hook/AttributeKey.java
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/hook/CompositedMessageInterceptor.java
 copy golang/utils/utils.go => java/client/src/main/java/org/apache/rocketmq/client/java/hook/MessageInterceptorContext.java (72%)
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/hook/MessageInterceptorContextImpl.java
 rename java/client/src/main/java/org/apache/rocketmq/client/java/impl/{ClientSettings.java => Settings.java} (72%)
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/impl/consumer/ProcessQueueGaugeObserver.java
 rename java/client/src/main/java/org/apache/rocketmq/client/java/impl/consumer/{PushConsumerSettings.java => PushSubscriptionSettings.java} (79%)
 rename java/client/src/main/java/org/apache/rocketmq/client/java/impl/consumer/{SimpleConsumerSettings.java => SimpleSubscriptionSettings.java} (71%)
 rename java/client/src/main/java/org/apache/rocketmq/client/java/impl/producer/{ProducerSettings.java => PublishingSettings.java} (79%)
 copy java/{client-apis/src/main/java/org/apache/rocketmq/client/apis/message/MessageView.java => client/src/main/java/org/apache/rocketmq/client/java/message/GeneralMessage.java} (69%)
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/message/GeneralMessageImpl.java
 delete mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/message/MessageCommon.java
 rename java/client/src/main/java/org/apache/rocketmq/client/java/metrics/{ClientMeterProvider.java => ClientMeterManager.java} (63%)
 copy java/client/src/main/java/org/apache/rocketmq/client/java/metrics/{Metric.java => EmptyGaugeObserver.java} (64%)
 rename golang/utils/utils.go => java/client/src/main/java/org/apache/rocketmq/client/java/metrics/GaugeObserver.java (71%)
 copy java/client/src/main/java/org/apache/rocketmq/client/java/misc/{ThreadFactoryImpl.java => ClientId.java} (51%)
 delete mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/misc/Dispatcher.java
 create mode 100644 java/client/src/main/java/org/apache/rocketmq/client/java/rpc/RpcFuture.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/exception/StatusCheckerTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/ClientImplTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/ClientSessionImplTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/ConsumeServiceTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/ConsumeTaskTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/ConsumerImplTest.java
 rename cpp/source/client/mocks/include/ReceiveMessageCallbackMock.h => java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/FifoConsumeServiceTest.java (72%)
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/PushSubscriptionSettingsTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/consumer/SimpleSubscriptionSettingsTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/impl/producer/PublishingLoadBalancerTest.java
 copy csharp/rocketmq-client-csharp/IClientConfig.cs => java/client/src/test/java/org/apache/rocketmq/client/java/logging/CustomConsoleAppenderTest.java (59%)
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/message/GeneralMessageImplTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/message/MessageViewImplTest.java
 copy java/client/src/test/java/org/apache/rocketmq/client/java/{impl/producer/TransactionImplTest.java => message/protocol/EncodingTest.java} (50%)
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/message/protocol/ResourceTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/metrics/ClientMeterManagerTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/metrics/ClientMeterTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/metrics/MessageMeterHandlerTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/misc/UtilitiesTest.java
 create mode 100644 java/client/src/test/java/org/apache/rocketmq/client/java/retry/ExponentialBackoffRetryPolicyTest.java
 delete mode 100644 java/example.md
 create mode 100644 java/style/copyright/Apache.xml
 create mode 100644 php/.gitignore
 create mode 100644 php/Consumer.php
 create mode 100644 php/Producer.php
 create mode 100644 php/composer.json
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AckMessageEntry.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AckMessageRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AckMessageResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AckMessageResultEntry.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Address.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AddressScheme.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/AdminClient.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Assignment.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Broker.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeInvisibleDurationRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeInvisibleDurationResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeLogLevelRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeLogLevelRequest/Level.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeLogLevelRequest_Level.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ChangeLogLevelResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ClientType.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Code.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/CustomizedBackoff.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Digest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/DigestType.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Encoding.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/EndTransactionRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/EndTransactionResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Endpoints.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ExponentialBackoff.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/FilterExpression.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/FilterType.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ForwardMessageToDeadLetterQueueRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ForwardMessageToDeadLetterQueueResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/HeartbeatRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/HeartbeatResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Language.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Message.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/MessageQueue.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/MessageType.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/MessagingServiceClient.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Metric.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/NotifyClientTerminationRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/NotifyClientTerminationResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Permission.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/PrintThreadStackTraceCommand.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Publishing.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/QueryAssignmentRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/QueryAssignmentResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/QueryRouteRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/QueryRouteResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ReceiveMessageRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ReceiveMessageResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/RecoverOrphanedTransactionCommand.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Resource.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/RetryPolicy.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/SendMessageRequest.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/SendMessageResponse.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/SendResultEntry.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Settings.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Status.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/Subscription.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/SubscriptionEntry.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/SystemProperties.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/TelemetryCommand.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/ThreadStackTrace.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/TransactionResolution.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/TransactionSource.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/UA.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/VerifyMessageCommand.php
 create mode 100644 php/grpc/Apache/Rocketmq/V2/VerifyMessageResult.php
 create mode 100644 php/grpc/GPBMetadata/Apache/Rocketmq/V2/Admin.php
 create mode 100644 php/grpc/GPBMetadata/Apache/Rocketmq/V2/Definition.php
 create mode 100644 php/grpc/GPBMetadata/Apache/Rocketmq/V2/Service.php
 copy {cpp/proto => php/protocol}/apache/rocketmq/v2/admin.proto (100%)
 copy {cpp/proto => php/protocol}/apache/rocketmq/v2/definition.proto (99%)
 copy {cpp/proto => php/protocol}/apache/rocketmq/v2/service.proto (100%)
 create mode 100644 rust/examples/standard_producer.rs
 create mode 100644 rust/src/message.rs
 create mode 100644 rust/src/util.rs
 create mode 100644 style/markdown/config.yml