You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ma...@apache.org on 2019/08/06 04:35:40 UTC

[pulsar-client-node] 25/45: Merge ReceiveWithTimeout into Receive (#30)

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

massakam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-node.git

commit 3561f2b2cff566e974bf1a20817c60f1cece026e
Author: hrsakai <hs...@yahoo-corp.jp>
AuthorDate: Tue Jun 11 14:39:13 2019 +0900

    Merge ReceiveWithTimeout into Receive (#30)
    
    Change Interface to same as java / cpp client.
---
 src/Consumer.cc          | 19 ++++++++-----------
 src/Consumer.h           |  1 -
 tests/end_to_end.test.js |  2 +-
 3 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/src/Consumer.cc b/src/Consumer.cc
index 454ba3c..12bba8e 100644
--- a/src/Consumer.cc
+++ b/src/Consumer.cc
@@ -32,7 +32,6 @@ void Consumer::Init(Napi::Env env, Napi::Object exports) {
       DefineClass(env, "Consumer",
                   {
                       InstanceMethod("receive", &Consumer::Receive),
-                      InstanceMethod("receiveWithTimeout", &Consumer::ReceiveWithTimeout),
                       InstanceMethod("acknowledge", &Consumer::Acknowledge),
                       InstanceMethod("acknowledgeId", &Consumer::AcknowledgeId),
                       InstanceMethod("acknowledgeCumulative", &Consumer::AcknowledgeCumulative),
@@ -146,16 +145,14 @@ class ConsumerReceiveWorker : public Napi::AsyncWorker {
 
 Napi::Value Consumer::Receive(const Napi::CallbackInfo &info) {
   Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(info.Env());
-  ConsumerReceiveWorker *wk = new ConsumerReceiveWorker(deferred, this->cConsumer);
-  wk->Queue();
-  return deferred.Promise();
-}
-
-Napi::Value Consumer::ReceiveWithTimeout(const Napi::CallbackInfo &info) {
-  Napi::Number timeout = info[0].As<Napi::Object>().ToNumber();
-  Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(info.Env());
-  ConsumerReceiveWorker *wk = new ConsumerReceiveWorker(deferred, this->cConsumer, timeout.Int64Value());
-  wk->Queue();
+  if (info[0].IsUndefined()) {
+    ConsumerReceiveWorker *wk = new ConsumerReceiveWorker(deferred, this->cConsumer);
+    wk->Queue();
+  } else {
+    Napi::Number timeout = info[0].As<Napi::Object>().ToNumber();
+    ConsumerReceiveWorker *wk = new ConsumerReceiveWorker(deferred, this->cConsumer, timeout.Int64Value());
+    wk->Queue();
+  }
   return deferred.Promise();
 }
 
diff --git a/src/Consumer.h b/src/Consumer.h
index 5e8bf5b..7aa41d9 100644
--- a/src/Consumer.h
+++ b/src/Consumer.h
@@ -36,7 +36,6 @@ class Consumer : public Napi::ObjectWrap<Consumer> {
   pulsar_consumer_t *cConsumer;
 
   Napi::Value Receive(const Napi::CallbackInfo &info);
-  Napi::Value ReceiveWithTimeout(const Napi::CallbackInfo &info);
   void Acknowledge(const Napi::CallbackInfo &info);
   void AcknowledgeId(const Napi::CallbackInfo &info);
   void AcknowledgeCumulative(const Napi::CallbackInfo &info);
diff --git a/tests/end_to_end.test.js b/tests/end_to_end.test.js
index ae24d86..97a6d6c 100644
--- a/tests/end_to_end.test.js
+++ b/tests/end_to_end.test.js
@@ -97,7 +97,7 @@ const Pulsar = require('../index.js');
         }
       }
 
-      await expect(consumer.receiveWithTimeout(1000)).rejects.toThrow('Failed to received message TimeOut');
+      await expect(consumer.receive(1000)).rejects.toThrow('Failed to received message TimeOut');
 
       await producer.close();
       await consumer.close();