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 2022/06/01 02:23:09 UTC
[rocketmq-client-csharp] branch develop updated: Fix telemetry by adding x-mq-client-id header
This is an automated email from the ASF dual-hosted git repository.
lizhanhui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-csharp.git
The following commit(s) were added to refs/heads/develop by this push:
new bc59936 Fix telemetry by adding x-mq-client-id header
bc59936 is described below
commit bc599366568a5b12112f2c897ddc29c712a6c6b4
Author: Li Zhanhui <li...@gmail.com>
AuthorDate: Wed Jun 1 10:23:01 2022 +0800
Fix telemetry by adding x-mq-client-id header
---
rocketmq-client-csharp/MetadataConstants.cs | 2 ++
rocketmq-client-csharp/Signature.cs | 1 +
tests/RpcClientTest.cs | 41 ++++++++++++++++++++++++++---
3 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/rocketmq-client-csharp/MetadataConstants.cs b/rocketmq-client-csharp/MetadataConstants.cs
index 7e632af..33bd66e 100644
--- a/rocketmq-client-csharp/MetadataConstants.cs
+++ b/rocketmq-client-csharp/MetadataConstants.cs
@@ -33,5 +33,7 @@ namespace Org.Apache.Rocketmq {
public const string CLIENT_VERSION_KEY = "x-mq-client-version";
public const string PROTOCOL_VERSION_KEY = "x-mq-protocol-version";
public const string REQUEST_ID_KEY = "x-mq-request-id";
+
+ public const string CLIENT_ID_KEY = "x-mq-client-id";
}
}
\ No newline at end of file
diff --git a/rocketmq-client-csharp/Signature.cs b/rocketmq-client-csharp/Signature.cs
index d413b15..c249253 100644
--- a/rocketmq-client-csharp/Signature.cs
+++ b/rocketmq-client-csharp/Signature.cs
@@ -24,6 +24,7 @@ namespace Org.Apache.Rocketmq {
public static void sign(IClientConfig clientConfig, grpc::Metadata metadata) {
metadata.Add(MetadataConstants.LANGUAGE_KEY, "DOTNET");
metadata.Add(MetadataConstants.CLIENT_VERSION_KEY, "5.0.0");
+ metadata.Add(MetadataConstants.CLIENT_ID_KEY, clientConfig.clientId());
if (!String.IsNullOrEmpty(clientConfig.tenantId())) {
metadata.Add(MetadataConstants.TENANT_ID_KEY, clientConfig.tenantId());
}
diff --git a/tests/RpcClientTest.cs b/tests/RpcClientTest.cs
index d6cdc91..987e82e 100644
--- a/tests/RpcClientTest.cs
+++ b/tests/RpcClientTest.cs
@@ -50,6 +50,9 @@ namespace Org.Apache.Rocketmq
address.Port = 8081;
address.Host = "11.166.42.94";
cmd.Settings.AccessPoint.Addresses.Add(address);
+ cmd.Settings.RequestTimeout = new Google.Protobuf.WellKnownTypes.Duration();
+ cmd.Settings.RequestTimeout.Seconds = 3;
+ cmd.Settings.RequestTimeout.Nanos = 0;
cmd.Settings.Publishing = new rmq::Publishing();
var topic = new rmq::Resource();
topic.Name = "cpp_sdk_standard";
@@ -69,14 +72,32 @@ namespace Org.Apache.Rocketmq
Console.WriteLine("Command written");
if (await reader.MoveNext(cts.Token))
{
- // var cmd = reader.Current;
- Console.WriteLine("Server responded");
+ var response = reader.Current;
+ switch (response.CommandCase)
+ {
+ case rmq::TelemetryCommand.CommandOneofCase.Settings:
+ {
+ var responded_settings = response.Settings;
+ Console.WriteLine($"{responded_settings.ToString()}");
+ break;
+ }
+ case rmq::TelemetryCommand.CommandOneofCase.None:
+ {
+ Console.WriteLine($"Unknown response command type: {response.Status.ToString()}");
+ break;
+ }
+ }
+ Console.WriteLine("Server responded ");
}
else
{
Console.WriteLine("Server is not responding");
- }
+ var status = duplexStreaming.GetStatus();
+ Console.WriteLine($"status={status.ToString()}");
+ var trailers = duplexStreaming.GetTrailers();
+ Console.WriteLine($"trailers={trailers.ToString()}");
+ }
}
[TestMethod]
@@ -100,6 +121,18 @@ namespace Org.Apache.Rocketmq
var result = response.GetAwaiter().GetResult();
}
- }
+ [TestMethod]
+ public void TestSend()
+ {
+ string target = "https://11.166.42.94:8081";
+ var rpc_client = new RpcClient(target);
+ var client_config = new ClientConfig();
+ var metadata = new grpc::Metadata();
+ Signature.sign(client_config, metadata);
+
+ var request = new rmq::SendMessageRequest();
+
+ }
+ }
}
\ No newline at end of file