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/23 07:32:07 UTC

[rocketmq-client-csharp] branch observability updated: WIP: add change invisible duration

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

lizhanhui pushed a commit to branch observability
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-csharp.git


The following commit(s) were added to refs/heads/observability by this push:
     new d07fa52  WIP: add change invisible duration
d07fa52 is described below

commit d07fa520055e59d19f31c7ae3372f6d291e5b17e
Author: Li Zhanhui <li...@gmail.com>
AuthorDate: Thu Jun 23 15:31:59 2022 +0800

    WIP: add change invisible duration
---
 rocketmq-client-csharp/SimpleConsumer.cs | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/rocketmq-client-csharp/SimpleConsumer.cs b/rocketmq-client-csharp/SimpleConsumer.cs
index d22bca9..93feb00 100644
--- a/rocketmq-client-csharp/SimpleConsumer.cs
+++ b/rocketmq-client-csharp/SimpleConsumer.cs
@@ -208,6 +208,26 @@ namespace Org.Apache.Rocketmq
             Signature.sign(this, metadata);
             await Manager.Ack(targetUrl, metadata, request, RequestTimeout);
         }
+
+        public async Task ChangeInvisibleDuration(Message message, TimeSpan invisibleDuration)
+        {
+            var request = new rmq.ChangeInvisibleDurationRequest();
+            request.Group = new rmq.Resource();
+            request.Group.ResourceNamespace = ResourceNamespace;
+            request.Group.Name = _group;
+
+            request.Topic = new rmq.Resource();
+            request.Topic.ResourceNamespace = ResourceNamespace;
+            request.Topic.Name = message.Topic;
+
+            request.ReceiptHandle = message._receiptHandle;
+            request.MessageId = message.MessageId;
+
+            var targetUrl = message._sourceHost;
+            var metadata = new Metadata();
+            Signature.sign(this, metadata);
+            await Manager.ChangeInvisibleDuration(targetUrl, metadata, request, RequestTimeout);
+        }
         
         private rmq.MessageQueue NextQueue()
         {