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 <[email protected]>
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)
{