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/02/21 12:46:06 UTC

[rocketmq-client-csharp] branch develop updated: Supply the residual RPC request (#12)

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 d083815  Supply the residual RPC request (#12)
d083815 is described below

commit d08381536e999be139a32a4c3200a56e403d9b47
Author: aaron ai <ya...@alibaba-inc.com>
AuthorDate: Mon Feb 21 20:44:22 2022 +0800

    Supply the residual RPC request (#12)
---
 rocketmq-client-csharp/IRpcClient.cs |  32 ++++++++-
 rocketmq-client-csharp/RpcClient.cs  | 122 ++++++++++++++++++++++++++++++++++-
 2 files changed, 151 insertions(+), 3 deletions(-)

diff --git a/rocketmq-client-csharp/IRpcClient.cs b/rocketmq-client-csharp/IRpcClient.cs
index 86aeab2..83aaeef 100644
--- a/rocketmq-client-csharp/IRpcClient.cs
+++ b/rocketmq-client-csharp/IRpcClient.cs
@@ -28,11 +28,39 @@ namespace org.apache.rocketmq
 
         Task<HeartbeatResponse> Heartbeat(Metadata metadata, HeartbeatRequest request, TimeSpan timeout);
 
-        Task<NotifyClientTerminationResponse> NotifyClientTermination(Metadata metadata,
-            NotifyClientTerminationRequest request, TimeSpan timeout);
+        Task<HealthCheckResponse> HealthCheck(Metadata metadata, HealthCheckRequest request, TimeSpan timeout);
 
         Task<SendMessageResponse> SendMessage(Metadata metadata, SendMessageRequest request, TimeSpan timeout);
 
+        Task<QueryAssignmentResponse> QueryAssignment(Metadata metadata, QueryAssignmentRequest request,
+            TimeSpan timeout);
+
+        Task<ReceiveMessageResponse> ReceiveMessage(Metadata metadata, ReceiveMessageRequest request, TimeSpan timeout);
+
+        Task<AckMessageResponse> AckMessage(Metadata metadata, AckMessageRequest request, TimeSpan timeout);
+
+        Task<NackMessageResponse> NackMessage(Metadata metadata, NackMessageRequest request, TimeSpan timeout);
+
+        Task<ForwardMessageToDeadLetterQueueResponse> ForwardMessageToDeadLetterQueue(Metadata metadata,
+            ForwardMessageToDeadLetterQueueRequest request, TimeSpan timeout);
+
+        Task<EndTransactionResponse> EndTransaction(Metadata metadata, EndTransactionRequest request, TimeSpan timeout);
+
+        Task<QueryOffsetResponse> QueryOffset(Metadata metadata, QueryOffsetRequest request, TimeSpan timeout);
+
+        Task<PullMessageResponse> PullMessage(Metadata metadata, PullMessageRequest request, TimeSpan timeout);
+
+        Task<PollCommandResponse> PollMessage(Metadata metadata, PollCommandRequest request, TimeSpan timeout);
+
+        Task<ReportThreadStackTraceResponse> ReportThreadStackTrace(Metadata metadata,
+            ReportThreadStackTraceRequest request, TimeSpan timeout);
+
+        Task<ReportMessageConsumptionResultResponse> ReportMessageConsumptionResult(Metadata metadata,
+            ReportMessageConsumptionResultRequest request, TimeSpan timeout);
+
+        Task<NotifyClientTerminationResponse> NotifyClientTermination(Metadata metadata,
+            NotifyClientTerminationRequest request, TimeSpan timeout);
+
         Task Shutdown();
     }
 }
\ No newline at end of file
diff --git a/rocketmq-client-csharp/RpcClient.cs b/rocketmq-client-csharp/RpcClient.cs
index 9796e2c..05d3dda 100644
--- a/rocketmq-client-csharp/RpcClient.cs
+++ b/rocketmq-client-csharp/RpcClient.cs
@@ -30,7 +30,7 @@ namespace org.apache.rocketmq
     public class RpcClient : IRpcClient
     {
         private readonly MessagingService.MessagingServiceClient _stub;
-        private GrpcChannel _channel;
+        private readonly GrpcChannel _channel;
 
         public RpcClient(string target)
         {
@@ -90,6 +90,16 @@ namespace org.apache.rocketmq
             return await call.ResponseAsync;
         }
 
+        public async Task<HealthCheckResponse> HealthCheck(Metadata metadata, HealthCheckRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.HealthCheckAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
         public async Task<SendMessageResponse> SendMessage(Metadata metadata, SendMessageRequest request,
             TimeSpan timeout)
         {
@@ -100,6 +110,116 @@ namespace org.apache.rocketmq
             return await call.ResponseAsync;
         }
 
+        public async Task<QueryAssignmentResponse> QueryAssignment(Metadata metadata, QueryAssignmentRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.QueryAssignmentAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<ReceiveMessageResponse> ReceiveMessage(Metadata metadata, ReceiveMessageRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.ReceiveMessageAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<AckMessageResponse> AckMessage(Metadata metadata, AckMessageRequest request, TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.AckMessageAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<NackMessageResponse> NackMessage(Metadata metadata, NackMessageRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.NackMessageAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<ForwardMessageToDeadLetterQueueResponse> ForwardMessageToDeadLetterQueue(Metadata metadata,
+            ForwardMessageToDeadLetterQueueRequest request, TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.ForwardMessageToDeadLetterQueueAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<EndTransactionResponse> EndTransaction(Metadata metadata, EndTransactionRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.EndTransactionAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<QueryOffsetResponse> QueryOffset(Metadata metadata, QueryOffsetRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.QueryOffsetAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<PullMessageResponse> PullMessage(Metadata metadata, PullMessageRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.PullMessageAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<PollCommandResponse> PollMessage(Metadata metadata, PollCommandRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.PollCommandAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<ReportThreadStackTraceResponse> ReportThreadStackTrace(Metadata metadata,
+            ReportThreadStackTraceRequest request, TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.ReportThreadStackTraceAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
+        public async Task<ReportMessageConsumptionResultResponse> ReportMessageConsumptionResult(Metadata metadata,
+            ReportMessageConsumptionResultRequest request,
+            TimeSpan timeout)
+        {
+            var deadline = DateTime.UtcNow.Add(timeout);
+            var callOptions = new CallOptions(metadata, deadline);
+
+            var call = _stub.ReportMessageConsumptionResultAsync(request, callOptions);
+            return await call.ResponseAsync;
+        }
+
         public async Task<NotifyClientTerminationResponse> NotifyClientTermination(Metadata metadata,
             NotifyClientTerminationRequest request, TimeSpan timeout)
         {