Sha256: efd39181577fdf67fc26f39c0684dfd9d64fc053b864193a21291661a6f9bcad

Contents?: true

Size: 1.64 KB

Versions: 3

Compression:

Stored size: 1.64 KB

Contents

#ifndef __PULSAR_RUBY_CLIENT_CLIENT_HPP
#define __PULSAR_RUBY_CLIENT_CLIENT_HPP

#include "rice/Module.hpp"
#include "rice/String.hpp"
#include "rice/Data_Object.hpp"
#include <pulsar/Client.h>

#include "producer.hpp"
#include "consumer.hpp"

namespace pulsar_rb {
  class ClientConfiguration {
  public:
    pulsar::ClientConfiguration _config;
    ClientConfiguration();

    void setAuthFromToken(const std::string &token);
    int getOperationTimeoutSeconds();
    void setOperationTimeoutSeconds(int timeout);
    int getIOThreads();
    void setIOThreads(int threads);
    int getMessageListenerThreads();
    void setMessageListenerThreads(int threads);
    int getConcurrentLookupRequest();
    void setConcurrentLookupRequest(int n);
    std::string getLogConfFilePath();
    void setLogConfFilePath(const std::string& path);
    bool isUseTls();
    void setUseTls(bool enable);
    std::string getTlsTrustCertsFilePath();
    void setTlsTrustCertsFilePath(const std::string& path);
    bool isTlsAllowInsecureConnection();
    void setTlsAllowInsecureConnection(bool enable);
    bool isValidateHostName();
    void setValidateHostName(bool enable);

    typedef Rice::Data_Object<ClientConfiguration> ptr;
  };

  class Client {
  public:
    pulsar::Client _client;
    Client(Rice::String service_url, const ClientConfiguration& config);

    Producer::ptr create_producer(Rice::String topic, const ProducerConfiguration& config);
    Consumer::ptr subscribe(Rice::String topic, Rice::String subscriptionName, const ConsumerConfiguration& config);
    void close();

    typedef Rice::Data_Object<Client> ptr;
  };
};

void bind_client(Rice::Module &module);

#endif

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pulsar-client-2.4.1.pre.beta.4 ext/bindings/client.hpp
pulsar-client-2.4.1.pre.beta.2 ext/bindings/client.hpp
pulsar-client-2.4.1.pre.beta.1 ext/bindings/client.hpp