Golang fix data races (#428)

* fix memory safety in rpc client

* use atmoic bool instead of bool in DefaultClientMeter

* use atomic bool as validateMessageType in producer options

* use atomic into for maxBodySizeBytes in producerOptions

* fix data race for seconds in message id codec

* fix type mismatch in publishing_message.go

* verify that there is no data race in defaultClientMeterProvider.reset

* add license to metric_test.go
7 files changed
tree: 903e20bc7da7b0252f63787e3b012e3bbac14f52
  1. .github/
  2. cpp/
  3. csharp/
  4. docs/
  5. golang/
  6. java/
  7. php/
  8. rust/
  9. style/
  10. .asf.yaml
  11. .codecov.yml
  12. .gitignore
  13. .licenserc.yaml
  14. LICENSE
  15. NOTICE
  16. README-CN.md
  17. README.md
README.md

RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

License CPP C# Java Golang Codecov-cpp Codecov-java Codecov-golang Maven Central NuGet Gallery

English | 简体中文 | RocketMQ Website

Overview

Client bindings for Apache RocketMQ, as known as RocketMQ 5.x SDK. All of them follow the specification of rocketmq-apis, replacing 4.x remoting-based counterparts. Clients in this repository are built on top of Protocol Buffers and gRPC.

Goal

Provide cloud-native and robust solutions for Java, C++, C#, Golang, Rust and all other mainstream programming languages.

Features and Status

  • Ready - ✅
  • Work in progress - 🚧
FeatureJavaC/C++C#GolangRustNode.jsPython
Producer with standard messages🚧🚧🚧
Producer with FIFO messages🚧🚧🚧
Producer with timed/delay messages🚧🚧🚧
Producer with transactional messages🚧🚧🚧
Simple consumer🚧🚧🚧
Push consumer with concurrent message listener🚧🚧🚧🚧🚧
Push consumer with FIFO message listener🚧🚧🚧🚧🚧

Contributing

Similar to other projects of Apache RocketMQ, any attempt to make this project better is welcome, including but not limited to filing a bug report, correcting type error or document writing to complete feature implementation. Do not hesitate to make a pull request if this project catches your attention.

Related

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation