Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,323 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#pragma once
+
+#include <pulsar/defines.h>
+
+#include "consumer.h"
+#include "producer_configuration.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_consumer_configuration pulsar_consumer_configuration_t;
+
+typedef enum
+{
+    /**
+     * There can be only 1 consumer on the same topic with the same 
consumerName
+     */
+    pulsar_ConsumerExclusive,
+
+    /**
+     * Multiple consumers will be able to use the same consumerName and the 
messages
+     *  will be dispatched according to a round-robin rotation between the 
connected consumers
+     */
+    pulsar_ConsumerShared,
+
+    /** Only one consumer is active on the subscription; Subscription can have 
N consumers
+     *  connected one of which will get promoted to master if the current 
master becomes inactive
+     */
+    pulsar_ConsumerFailover,
+
+    /**
+     * Multiple consumer will be able to use the same subscription and all 
messages with the same key
+     * will be dispatched to only one consumer
+     */
+    pulsar_ConsumerKeyShared
+} pulsar_consumer_type;
+
+typedef enum
+{
+    /**
+     * the latest position which means the start consuming position will be 
the last message
+     */
+    initial_position_latest,
+    /**
+     * the earliest position which means the start consuming position will be 
the first message
+     */
+    initial_position_earliest
+} initial_position;
+
+typedef enum
+{
+    // This is the default option to fail consume until crypto succeeds
+    pulsar_ConsumerFail,
+    // Message is silently acknowledged and not delivered to the application
+    pulsar_ConsumerDiscard,
+    // Deliver the encrypted message to the application. It's the application's
+    // responsibility to decrypt the message. If message is also compressed,
+    // decompression will fail. If message contain batch messages, client will
+    // not be able to retrieve individual messages in the batch
+    pulsar_ConsumerConsume
+} pulsar_consumer_crypto_failure_action;
+
+/// Callback definition for MessageListener
+typedef void (*pulsar_message_listener)(pulsar_consumer_t *consumer, 
pulsar_message_t *msg, void *ctx);
+
+PULSAR_PUBLIC pulsar_consumer_configuration_t 
*pulsar_consumer_configuration_create();
+
+PULSAR_PUBLIC void pulsar_consumer_configuration_free(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Specify the consumer type. The consumer type enables
+ * specifying the type of subscription. In Exclusive subscription,
+ * only a single consumer is allowed to attach to the subscription. Other 
consumers
+ * will get an error message. In Shared subscription, multiple consumers will 
be
+ * able to use the same subscription name and the messages will be dispatched 
in a
+ * round robin fashion. In Failover subscription, a primary-failover 
subscription model
+ * allows for multiple consumers to attach to a single subscription, though 
only one
+ * of them will be “master” at a given time. Only the primary consumer 
will receive
+ * messages. When the primary consumer gets disconnected, one among the 
failover
+ * consumers will be promoted to primary and will start getting messages.
+ */
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_consumer_type(
+    pulsar_consumer_configuration_t *consumer_configuration, 
pulsar_consumer_type consumerType);
+
+PULSAR_PUBLIC pulsar_consumer_type
+pulsar_consumer_configuration_get_consumer_type(pulsar_consumer_configuration_t
 *consumer_configuration);
+
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_schema_info(
+    pulsar_consumer_configuration_t *consumer_configuration, 
pulsar_schema_type schemaType, const char *name,
+    const char *schema, pulsar_string_map_t *properties);
+
+/**
+ * A message listener enables your application to configure how to process
+ * and acknowledge messages delivered. A listener will be called in order
+ * for every message received.
+ */
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_message_listener(
+    pulsar_consumer_configuration_t *consumer_configuration, 
pulsar_message_listener messageListener,
+    void *ctx);
+
+PULSAR_PUBLIC int pulsar_consumer_configuration_has_message_listener(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Sets the size of the consumer receive queue.
+ *
+ * The consumer receive queue controls how many messages can be accumulated by 
the Consumer before the
+ * application calls receive(). Using a higher value could potentially 
increase the consumer throughput
+ * at the expense of bigger memory utilization.
+ *
+ * Setting the consumer queue size as zero decreases the throughput of the 
consumer, by disabling
+ * pre-fetching of
+ * messages. This approach improves the message distribution on shared 
subscription, by pushing messages
+ * only to
+ * the consumers that are ready to process them. Neither receive with timeout 
nor Partitioned Topics can
+ * be
+ * used if the consumer queue size is zero. The receive() function call should 
not be interrupted when
+ * the consumer queue size is zero.
+ *
+ * Default value is 1000 messages and should be good for most use cases.
+ *
+ * @param size
+ *            the new receiver queue size value
+ */
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_receiver_queue_size(
+    pulsar_consumer_configuration_t *consumer_configuration, int size);
+
+PULSAR_PUBLIC int pulsar_consumer_configuration_get_receiver_queue_size(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Set the max total receiver queue size across partitons.
+ * <p>
+ * This setting will be used to reduce the receiver queue size for individual 
partitions
+ * {@link #setReceiverQueueSize(int)} if the total exceeds this value 
(default: 50000).
+ *
+ * @param maxTotalReceiverQueueSizeAcrossPartitions
+ */
+PULSAR_PUBLIC void 
pulsar_consumer_set_max_total_receiver_queue_size_across_partitions(
+    pulsar_consumer_configuration_t *consumer_configuration, int 
maxTotalReceiverQueueSizeAcrossPartitions);
+
+/**
+ * @return the configured max total receiver queue size across partitions
+ */
+PULSAR_PUBLIC int 
pulsar_consumer_get_max_total_receiver_queue_size_across_partitions(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void 
pulsar_consumer_set_consumer_name(pulsar_consumer_configuration_t 
*consumer_configuration,
+                                                     const char *consumerName);
+
+PULSAR_PUBLIC const char *pulsar_consumer_get_consumer_name(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Set the timeout in milliseconds for unacknowledged messages, the timeout 
needs to be greater than
+ * 10 seconds. An Exception is thrown if the given value is less than 10000 
(10 seconds).
+ * If a successful acknowledgement is not sent within the timeout all the 
unacknowledged messages are
+ * redelivered.
+ * @param timeout in milliseconds
+ */
+PULSAR_PUBLIC void pulsar_consumer_set_unacked_messages_timeout_ms(
+    pulsar_consumer_configuration_t *consumer_configuration, const uint64_t 
milliSeconds);
+
+/**
+ * @return the configured timeout in milliseconds for unacked messages.
+ */
+PULSAR_PUBLIC long pulsar_consumer_get_unacked_messages_timeout_ms(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Set the delay to wait before re-delivering messages that have failed to be 
process.
+ * <p>
+ * When application uses {@link Consumer#negativeAcknowledge(Message)}, the 
failed message
+ * will be redelivered after a fixed timeout. The default is 1 min.
+ *
+ * @param redeliveryDelay
+ *            redelivery delay for failed messages
+ * @param timeUnit
+ *            unit in which the timeout is provided.
+ * @return the consumer builder instance
+ */
+PULSAR_PUBLIC void pulsar_configure_set_negative_ack_redelivery_delay_ms(
+    pulsar_consumer_configuration_t *consumer_configuration, long 
redeliveryDelayMillis);
+
+/**
+ * Get the configured delay to wait before re-delivering messages that have 
failed to be process.
+ *
+ * @param consumer_configuration the consumer conf object
+ * @return redelivery delay for failed messages
+ */
+PULSAR_PUBLIC long pulsar_configure_get_negative_ack_redelivery_delay_ms(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Set time window in milliseconds for grouping message ACK requests. An ACK 
request is not sent
+ * to broker until the time window reaches its end, or the number of grouped 
messages reaches
+ * limit. Default is 100 milliseconds. If it's set to a non-positive value, 
ACK requests will be
+ * directly sent to broker without grouping.
+ *
+ * @param consumer_configuration the consumer conf object
+ * @param ackGroupMillis time of ACK grouping window in milliseconds.
+ */
+PULSAR_PUBLIC void pulsar_configure_set_ack_grouping_time_ms(
+    pulsar_consumer_configuration_t *consumer_configuration, long 
ackGroupingMillis);
+
+/**
+ * Get grouping time window in milliseconds.
+ *
+ * @param consumer_configuration the consumer conf object
+ * @return grouping time window in milliseconds.
+ */
+PULSAR_PUBLIC long pulsar_configure_get_ack_grouping_time_ms(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+/**
+ * Set max number of grouped messages within one grouping time window. If it's 
set to a
+ * non-positive value, number of grouped messages is not limited. Default is 
1000.
+ *
+ * @param consumer_configuration the consumer conf object
+ * @param maxGroupingSize max number of grouped messages with in one grouping 
time window.
+ */
+PULSAR_PUBLIC void pulsar_configure_set_ack_grouping_max_size(
+    pulsar_consumer_configuration_t *consumer_configuration, long 
maxGroupingSize);
+
+/**
+ * Get max number of grouped messages within one grouping time window.
+ *
+ * @param consumer_configuration the consumer conf object
+ * @return max number of grouped messages within one grouping time window.
+ */
+PULSAR_PUBLIC long pulsar_configure_get_ack_grouping_max_size(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC int pulsar_consumer_is_encryption_enabled(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_default_crypto_key_reader(
+    pulsar_consumer_configuration_t *consumer_configuration, const char 
*public_key_path,
+    const char *private_key_path);
+
+PULSAR_PUBLIC pulsar_consumer_crypto_failure_action 
pulsar_consumer_configuration_get_crypto_failure_action(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_crypto_failure_action(
+    pulsar_consumer_configuration_t *consumer_configuration,
+    pulsar_consumer_crypto_failure_action cryptoFailureAction);
+
+PULSAR_PUBLIC int 
pulsar_consumer_is_read_compacted(pulsar_consumer_configuration_t 
*consumer_configuration);
+
+PULSAR_PUBLIC void 
pulsar_consumer_set_read_compacted(pulsar_consumer_configuration_t 
*consumer_configuration,
+                                                      int compacted);
+
+PULSAR_PUBLIC int pulsar_consumer_get_subscription_initial_position(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void pulsar_consumer_set_subscription_initial_position(
+    pulsar_consumer_configuration_t *consumer_configuration, initial_position 
subscriptionInitialPosition);
+
+PULSAR_PUBLIC void 
pulsar_consumer_configuration_set_property(pulsar_consumer_configuration_t 
*conf,
+                                                              const char 
*name, const char *value);
+
+PULSAR_PUBLIC void pulsar_consumer_configuration_set_priority_level(
+    pulsar_consumer_configuration_t *consumer_configuration, int 
priority_level);
+
+PULSAR_PUBLIC int pulsar_consumer_configuration_get_priority_level(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void 
pulsar_consumer_configuration_set_max_pending_chunked_message(
+    pulsar_consumer_configuration_t *consumer_configuration, int 
max_pending_chunked_message);
+
+PULSAR_PUBLIC int 
pulsar_consumer_configuration_get_max_pending_chunked_message(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void 
pulsar_consumer_configuration_set_auto_ack_oldest_chunked_message_on_queue_full(
+    pulsar_consumer_configuration_t *consumer_configuration,
+    int auto_ack_oldest_chunked_message_on_queue_full);
+
+PULSAR_PUBLIC int 
pulsar_consumer_configuration_is_auto_ack_oldest_chunked_message_on_queue_full(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+PULSAR_PUBLIC void 
pulsar_consumer_configuration_set_start_message_id_inclusive(
+    pulsar_consumer_configuration_t *consumer_configuration, int 
start_message_id_inclusive);
+
+PULSAR_PUBLIC int pulsar_consumer_configuration_is_start_message_id_inclusive(
+    pulsar_consumer_configuration_t *consumer_configuration);
+
+// const CryptoKeyReaderPtr getCryptoKeyReader()
+//
+// const;
+// ConsumerConfiguration&
+// setCryptoKeyReader(CryptoKeyReaderPtr
+// cryptoKeyReader);
+//
+// ConsumerCryptoFailureAction getCryptoFailureAction()
+//
+// const;
+// ConsumerConfiguration&
+// setCryptoFailureAction(ConsumerCryptoFailureAction
+// action);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ4ACgkQT0AbyNP5
++1UlDw/+L1MAnxyTT4ho7C+fhLtqRNjb77DHLy4rs7UEf0VRbDLQIeeMFJnipXch
+XzuWwFGuPQo9O+IyKzKsNMjDRiF7e9MpTME28rIn0nzcusvSWWsv3Ale2x63IWVL
+0dfOJOoARuMoD+ftOBh2Mh2Vs8Yvyr0mQFFnvSQJ3CaTCmC9r1YyLXLtK4b9Rtet
+VTEMTn1x0Qc3EmcJxxNoEbIFO/R70dgdwuJPx1SS66hZWBvKkV/nhp1itsmTyq6L
+rnx3fb/hPqAg2paMpaTljNy/FTgRQ7Ag5SoGHFNrcxara+hmey4oPRDnvx/VthU5
+HguY8nGzIZJcavmwtHSsLbQ5WzE42DEhMtBNdlqxkKXq5nTYt9rVPAv86iBiwnbS
+SQZnLPRM1Mm+6pW7GviCFtTKMiMaDw1G1PBRJ21z4wWmFyoBFIvDCweSQ6nNcELv
+2km0ta55/mmau7GE7cgwxO526iNtdfO/Gdq5/Q2s/vM5nUf5Su85HaI7c8/caBLx
+66EuWJWvs3Qna6R5/IpOrnsBY/pO8ur9YDRVthwHtnN6vT9//rJcGkamfyDfME62
+CETSIbtnPlgI/A9mZIdCiSEACYmF0a01X7DN9BrYVWYclINWjeOeGNGpfBLplFyv
+xd4hjaN6FnDEd5JSB4nvCs8oKOSHd1LH85S1xdCsbOpuQ5hfiX8=
+=lSkP
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/consumer_configuration.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+b8cec6293170c94f2e9caa1d279712c6fa97120c197870fba75b4b63de693394ddc45ec1ab160c29b1b29f8a110a7dfa92c5b0557b5e29f7d674fe42fea0f6e1
  ./x64-windows-static/include/pulsar/c/consumer_configuration.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,211 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <pulsar/defines.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#include "string_map.h"
+
+typedef struct _pulsar_message pulsar_message_t;
+typedef struct _pulsar_message_id pulsar_message_id_t;
+
+PULSAR_PUBLIC pulsar_message_t *pulsar_message_create();
+PULSAR_PUBLIC void pulsar_message_free(pulsar_message_t *message);
+
+/// Builder
+
+PULSAR_PUBLIC void pulsar_message_set_content(pulsar_message_t *message, const 
void *data, size_t size);
+
+/**
+ * Set content of the message to a buffer already allocated by the caller. No 
copies of
+ * this buffer will be made. The caller is responsible to ensure the memory 
buffer is
+ * valid until the message has been persisted (or an error is returned).
+ */
+PULSAR_PUBLIC void pulsar_message_set_allocated_content(pulsar_message_t 
*message, void *data, size_t size);
+
+PULSAR_PUBLIC void pulsar_message_set_property(pulsar_message_t *message, 
const char *name,
+                                               const char *value);
+
+/**
+ * set partition key for the message routing
+ * @param hash of this key is used to determine message's topic partition
+ */
+PULSAR_PUBLIC void pulsar_message_set_partition_key(pulsar_message_t *message, 
const char *partitionKey);
+
+/**
+ * Sets the ordering key of the message for message dispatch in Key_Shared 
mode.
+ * @param the ordering key for the message
+ */
+PULSAR_PUBLIC void pulsar_message_set_ordering_key(pulsar_message_t *message, 
const char *orderingKey);
+
+/**
+ * Set the event timestamp for the message.
+ */
+PULSAR_PUBLIC void pulsar_message_set_event_timestamp(pulsar_message_t 
*message, uint64_t eventTimestamp);
+
+/**
+ * Specify a custom sequence id for the message being published.
+ * <p>
+ * The sequence id can be used for deduplication purposes and it needs to 
follow these rules:
+ * <ol>
+ * <li><code>sequenceId >= 0</code>
+ * <li>Sequence id for a message needs to be greater than sequence id for 
earlier messages:
+ * <code>sequenceId(N+1) > sequenceId(N)</code>
+ * <li>It's not necessary for sequence ids to be consecutive. There can be 
holes between messages. Eg. the
+ * <code>sequenceId</code> could represent an offset or a cumulative size.
+ * </ol>
+ *
+ * @param sequenceId
+ *            the sequence id to assign to the current message
+ */
+PULSAR_PUBLIC void pulsar_message_set_sequence_id(pulsar_message_t *message, 
int64_t sequenceId);
+
+/**
+ * Specify a delay for the delivery of the messages.
+ *
+ * @param delay the delay in milliseconds
+ */
+PULSAR_PUBLIC void pulsar_message_set_deliver_after(pulsar_message_t *message, 
uint64_t delayMillis);
+
+/**
+ * Specify the this message should not be delivered earlier than the
+ * specified timestamp.
+ *
+ * @param deliveryTimestamp UTC based timestamp in milliseconds
+ */
+PULSAR_PUBLIC void pulsar_message_set_deliver_at(pulsar_message_t *message, 
uint64_t deliveryTimestampMillis);
+
+/**
+ * override namespace replication clusters.  note that it is the
+ * caller's responsibility to provide valid cluster names, and that
+ * all clusters have been previously configured as topics.
+ *
+ * given an empty list, the message will replicate per the namespace
+ * configuration.
+ *
+ * @param clusters where to send this message.
+ */
+PULSAR_PUBLIC void pulsar_message_set_replication_clusters(pulsar_message_t 
*message, const char **clusters,
+                                                           size_t size);
+
+/**
+ * Do not replicate this message
+ * @param flag if true, disable replication, otherwise use default
+ * replication
+ */
+PULSAR_PUBLIC void pulsar_message_disable_replication(pulsar_message_t 
*message, int flag);
+
+/// Accessor for built messages
+
+/**
+ * Return the properties attached to the message.
+ * Properties are application defined key/value pairs that will be attached to 
the message
+ *
+ * @return an unmodifiable view of the properties map
+ */
+PULSAR_PUBLIC pulsar_string_map_t 
*pulsar_message_get_properties(pulsar_message_t *message);
+
+/**
+ * Check whether the message has a specific property attached.
+ *
+ * @param name the name of the property to check
+ * @return true if the message has the specified property
+ * @return false if the property is not defined
+ */
+PULSAR_PUBLIC int pulsar_message_has_property(pulsar_message_t *message, const 
char *name);
+
+/**
+ * Get the value of a specific property
+ *
+ * @param name the name of the property
+ * @return the value of the property or null if the property was not defined
+ */
+PULSAR_PUBLIC const char *pulsar_message_get_property(pulsar_message_t 
*message, const char *name);
+
+/**
+ * Get the content of the message
+ *
+ *
+ * @return the pointer to the message payload
+ */
+PULSAR_PUBLIC const void *pulsar_message_get_data(pulsar_message_t *message);
+
+/**
+ * Get the length of the message
+ *
+ * @return the length of the message payload
+ */
+PULSAR_PUBLIC uint32_t pulsar_message_get_length(pulsar_message_t *message);
+
+/**
+ * Get the unique message ID associated with this message.
+ *
+ * The message id can be used to univocally refer to a message without having 
to keep the entire payload
+ * in memory.
+ *
+ * Only messages received from the consumer will have a message id assigned.
+ *
+ */
+PULSAR_PUBLIC pulsar_message_id_t 
*pulsar_message_get_message_id(pulsar_message_t *message);
+
+/**
+ * Get the partition key for this message
+ * @return key string that is hashed to determine message's topic partition
+ */
+PULSAR_PUBLIC const char *pulsar_message_get_partitionKey(pulsar_message_t 
*message);
+PULSAR_PUBLIC int pulsar_message_has_partition_key(pulsar_message_t *message);
+
+/**
+ * Get the ordering key of the message for message dispatch in Key_Shared mode.
+ * Partition key Will be used if ordering key not specified
+ */
+PULSAR_PUBLIC const char *pulsar_message_get_orderingKey(pulsar_message_t 
*message);
+PULSAR_PUBLIC int pulsar_message_has_ordering_key(pulsar_message_t *message);
+
+/**
+ * Get the UTC based timestamp in milliseconds referring to when the message 
was published by the client
+ * producer
+ */
+PULSAR_PUBLIC uint64_t pulsar_message_get_publish_timestamp(pulsar_message_t 
*message);
+
+/**
+ * Get the event timestamp associated with this message. It is set by the 
client producer.
+ */
+PULSAR_PUBLIC uint64_t pulsar_message_get_event_timestamp(pulsar_message_t 
*message);
+
+PULSAR_PUBLIC const char *pulsar_message_get_topic_name(pulsar_message_t 
*message);
+
+PULSAR_PUBLIC int pulsar_message_get_redelivery_count(pulsar_message_t 
*message);
+
+PULSAR_PUBLIC int pulsar_message_has_schema_version(pulsar_message_t *message);
+
+PULSAR_PUBLIC const char *pulsar_message_get_schemaVersion(pulsar_message_t 
*message);
+
+PULSAR_PUBLIC void pulsar_message_set_schema_version(pulsar_message_t 
*message, const char *schemaVersion);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ0ACgkQT0AbyNP5
++1W6FRAAkGzGONr2aaPK5oLQdUM8CMX1faaR4TvW+7so1pM5542Fdw+IuhflcBfT
+aoL6KxjvhuxXwlmpOXzRoGIYhI7+qE45XxjAhFU6rWJ6QDhBrFyZDCuFVhXHB64w
+IUTFB5Su3PFuLk4zXiTeOu3pH/5ikVPiFTeA1NSYMsdrTjviynOEj1gqQLwwAdsw
+eHIUUrT8taWuXCi+Ko/h645pw1UZWw4Xaxmx1mQyr3Sd2ii3fhh109fY5f8XA2OB
+fQ3XKNS0qaT2OX0zmNpmZ3ioW+EHa+aAbyI0OJlvRyJNhYxrRht3Ys/s7s+fEG2X
+CQspEJ4FwW207602J9SaMlO3fhoLzdHvsBnb6bukO8gGFbIhXrYR18TEBpOVx9GO
+mDyCvWEg7IJLOMv8F+E8hMIWtS9jvtCzcnbc1u3tG7yVAKjrx0iFSL/8FyfeABr+
+N0xOFYwQJ5fGf9Lfq0svEmmeyLpLquNpVRA1VuqmPB/q2O1O6L2NWjEkSDSLzbbq
+givgD+PoFa2ewxZ0CX3N/vgl32qPN0pRkKQSOXU/LVOG2z3Qr/x4wIZUEhMVT+2q
+Z1xn+897wdupD5tRe3UVokaKT5hvCBSyvYgjMXOiK3tIfP9W25bvD1tlBzZBL+w7
+dfV6CWDaxTuN8xx0Ck6jKa8owL7ewOBHo00jVqoE8XhS6AFuSPg=
+=8oHg
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+63a00aa0e98ea42ae68b4212a5fd93f1e20cb1b96d61939aaa1ec889ae66ddf8a948d772ba150a56251511887f6b92efb9929f46a34f9b5579b8cc9ea9682dc3
  ./x64-windows-static/include/pulsar/c/message.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,58 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <pulsar/defines.h>
+#include <stddef.h>
+#include <stdint.h>
+
+typedef struct _pulsar_message_id pulsar_message_id_t;
+
+/**
+ * MessageId representing the "earliest" or "oldest available" message stored 
in the topic
+ */
+PULSAR_PUBLIC const pulsar_message_id_t *pulsar_message_id_earliest();
+
+/**
+ * MessageId representing the "latest" or "last published" message in the topic
+ */
+PULSAR_PUBLIC const pulsar_message_id_t *pulsar_message_id_latest();
+
+/**
+ * Serialize the message id into a binary string for storing
+ */
+PULSAR_PUBLIC void *pulsar_message_id_serialize(pulsar_message_id_t 
*messageId, int *len);
+
+/**
+ * Deserialize a message id from a binary string
+ */
+PULSAR_PUBLIC pulsar_message_id_t *pulsar_message_id_deserialize(const void 
*buffer, uint32_t len);
+
+PULSAR_PUBLIC char *pulsar_message_id_str(pulsar_message_id_t *messageId);
+
+PULSAR_PUBLIC void pulsar_message_id_free(pulsar_message_id_t *messageId);
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ4ACgkQT0AbyNP5
++1V/qw/+LRxgBtfE+ghicOisb8bYl5H/am6U6ATj8oBtj0vwMhUg6WPqwRCpsHSg
+iSc+WZQfZ/Pf7v/GnLxF4rY6pQOxeRU9Gdm91WfZg5S3sfPeGMg/4wDBt9mX7Lz6
+CkKOyLMMZ5ilB+/F7IUzLkSdB6OmpS+SzLIQtgUTiBDfrbk3JDo4MQSbpgbP3Xum
+1e1X5p+foqicm1N3n8ugLVm9zv/O8lTNO3o719OpvpQgGXd0x2idUACt7kIv8MPM
+pTQpFM41wjI8EfXupgjEJSgfB/gx5pkWnMk1Kb+5N5vHDqTIAJyJ0f86Agbml3vv
+F2AQweTWG4SCic81P+EmU97cS4REUvugFLt56wEpg6R9lMPYhtLZw07a4oNpGL0m
+G2hh5Wsa6qPVEBJ2vk+mG+iMiBvRuBXziXYO12CEvDsg/XhEamTiaQw3XxVFyNU2
+rPpVzZ7mDkAvZd1/zqTapiOjXjkzkr+KzGi+nKjVrPz0yfHg7LVeB4yQi9cqKI/x
+GRWJk/R4dFoaEEim9OFd+9kp0WEd/AphN09V3wfDDzKaHn+ELQQrzK1Fp9bkM+CV
+MgCotQUtUWyhXGhramJ7Fmdl89aYkS1ib1pNbgUcsuBtMcNwXUaBjIhEn6S4VCQv
+LOGzW6ugqEmKDMkP4dMYgJyfm+rjkdU2AJfmSGczwdcSCwdDc1o=
+=D9WG
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_id.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+0d8a05223aa4cc241a0da53b414254b676c1e512af4e8e33ad093cd905ae2451ca60309695d4b1b7c2dec9b67abfceb8911e9682832b46a3dba30f8da7a5b3a4
  ./x64-windows-static/include/pulsar/c/message_id.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/c/message.h>
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_topic_metadata pulsar_topic_metadata_t;
+
+typedef int (*pulsar_message_router)(pulsar_message_t *msg, 
pulsar_topic_metadata_t *topicMetadata,
+                                     void *ctx);
+
+PULSAR_PUBLIC int 
pulsar_topic_metadata_get_num_partitions(pulsar_topic_metadata_t 
*topicMetadata);
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ0ACgkQT0AbyNP5
++1X2Yg/9Fsu/slwYj8yf1zjEJMkio0G8PFUpykui9IsIOPu4Fn2ysoKX6/NWvZNg
+fi4UH7PbfeJzQC6p/q4rKgDi3qlEtObwgM9Dkdp6kCZ0xaAGTqxVwaDZdAchlEjv
+wyIFX7R2GF2meX/8F14aTK3yPF3O+CKuWfeuF1D8zQhzoYDsHaTI0+I9F8OPmzCA
+AwsBSPD64CoSVPfxiO7UHFU3L7olwmAkIyyJyKJJblNQmktOl9GDknQmqMD4cKgO
+8FBxQ8H/Ch+j5Q9gEJ63Ly0EIGgyh3PjVeEEOXIhXan19yCVbFZD/rLo16w1vmCA
+ZqQRzCTDHmYjJPXOjLs1HDcPk9Wlhbu2ICArRmoMQsoh82poyGgtuqQlZBXpymZu
+ZwJgD9/gmMlR4pgn2XPKQ991mbGwjrnjyIjp7QJfSTyAYnnQBdemskoMWIsu/TwX
+ljlwQjGsQRwkg+fpC+wNJ612saKt54UuGg7evqXtXl5o4v4h2XLW4cbs9iCPLWWQ
+xpXuXgpRf8bH7Rvdi1ZSO0DE6wI2eRwzWXpqqqgYTflNA3IGAG0/SYfTxhSV9JE4
+AGRrskAr163DK0lFqFGl7cQs7ugQ+NOhtrRbV7ZFeBs79Zx2L9epx/yl4bABy2jC
+44/H6RMizhTdZudziSsPKvaFHKXgDzrSZnc5CRfU6XLSXwe+hmc=
+=zmpb
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/message_router.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+515f5964e5adfc6dd00702e0647b5988e34014dfd00b1c61ce25582c845dbf0202acd2142fe56a1801b871f6118cbf6005bd9d78cdfd9fe5564078b100a1ab78
  ./x64-windows-static/include/pulsar/c/message_router.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,129 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <pulsar/c/message.h>
+#include <pulsar/c/result.h>
+#include <pulsar/defines.h>
+#include <stdint.h>
+
+typedef struct _pulsar_producer pulsar_producer_t;
+
+typedef void (*pulsar_send_callback)(pulsar_result, pulsar_message_id_t 
*msgId, void *ctx);
+typedef void (*pulsar_close_callback)(pulsar_result, void *ctx);
+typedef void (*pulsar_flush_callback)(pulsar_result, void *ctx);
+
+/**
+ * @return the topic to which producer is publishing to
+ */
+PULSAR_PUBLIC const char *pulsar_producer_get_topic(pulsar_producer_t 
*producer);
+
+/**
+ * @return the producer name which could have been assigned by the system or 
specified by the client
+ */
+PULSAR_PUBLIC const char *pulsar_producer_get_producer_name(pulsar_producer_t 
*producer);
+
+/**
+ * Publish a message on the topic associated with this Producer.
+ *
+ * This method will block until the message will be accepted and persisted
+ * by the broker. In case of errors, the client library will try to
+ * automatically recover and use a different broker.
+ *
+ * If it wasn't possible to successfully publish the message within the 
sendTimeout,
+ * an error will be returned.
+ *
+ * This method is equivalent to asyncSend() and wait until the callback is 
triggered.
+ *
+ * @param msg message to publish
+ * @return ResultOk if the message was published successfully
+ * @return ResultWriteError if it wasn't possible to publish the message
+ */
+PULSAR_PUBLIC pulsar_result pulsar_producer_send(pulsar_producer_t *producer, 
pulsar_message_t *msg);
+
+/**
+ * Asynchronously publish a message on the topic associated with this Producer.
+ *
+ * This method will initiate the publish operation and return immediately. The
+ * provided callback will be triggered when the message has been be accepted 
and persisted
+ * by the broker. In case of errors, the client library will try to
+ * automatically recover and use a different broker.
+ *
+ * If it wasn't possible to successfully publish the message within the 
sendTimeout, the
+ * callback will be triggered with a Result::WriteError code.
+ *
+ * @param msg message to publish
+ * @param callback the callback to get notification of the completion
+ */
+PULSAR_PUBLIC void pulsar_producer_send_async(pulsar_producer_t *producer, 
pulsar_message_t *msg,
+                                              pulsar_send_callback callback, 
void *ctx);
+
+/**
+ * Get the last sequence id that was published by this producer.
+ *
+ * This represent either the automatically assigned or custom sequence id (set 
on the MessageBuilder) that
+ * was published and acknowledged by the broker.
+ *
+ * After recreating a producer with the same producer name, this will return 
the last message that was
+ * published in
+ * the previous producer session, or -1 if there no message was ever published.
+ *
+ * @return the last sequence id published by this producer
+ */
+PULSAR_PUBLIC int64_t pulsar_producer_get_last_sequence_id(pulsar_producer_t 
*producer);
+
+/**
+ * Close the producer and release resources allocated.
+ *
+ * No more writes will be accepted from this producer. Waits until
+ * all pending write requests are persisted. In case of errors,
+ * pending writes will not be retried.
+ *
+ * @return an error code to indicate the success or failure
+ */
+PULSAR_PUBLIC pulsar_result pulsar_producer_close(pulsar_producer_t *producer);
+
+/**
+ * Close the producer and release resources allocated.
+ *
+ * No more writes will be accepted from this producer. The provided callback 
will be
+ * triggered when all pending write requests are persisted. In case of errors,
+ * pending writes will not be retried.
+ */
+PULSAR_PUBLIC void pulsar_producer_close_async(pulsar_producer_t *producer, 
pulsar_close_callback callback,
+                                               void *ctx);
+
+// Flush all the messages buffered in the client and wait until all messages 
have been successfully persisted.
+PULSAR_PUBLIC pulsar_result pulsar_producer_flush(pulsar_producer_t *producer);
+
+PULSAR_PUBLIC void pulsar_producer_flush_async(pulsar_producer_t *producer, 
pulsar_flush_callback callback,
+                                               void *ctx);
+
+PULSAR_PUBLIC void pulsar_producer_free(pulsar_producer_t *producer);
+
+PULSAR_PUBLIC int pulsar_producer_is_connected(pulsar_producer_t *producer);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ8ACgkQT0AbyNP5
++1XCQBAAqtVfSk8Bd8mGMjTdruyPOhraYoQE2EF5010768LMXaRYFcxB0iwluRo5
+6cis/yRUc3vS7g7U3jLAbcV5gpKZN2TLa2bpwT1/mvTkUoiSJGH5KQudJDap4sfS
+uAEAAWk0E/Z0utdp7/M6QvdInxHt96rKam2HW/7lXvvd24xIIoscw/HgCrv2sT1x
+YgOBwCMyPnfuOg9kQe+zJsvXPqQy2jiZUcvCtO4ojBGErUZG1DExNvpQGoD2xbhP
+LJuIh0/UkR0rPggsLc/7iPe9GOwDmpWTLcxe+KOogJD3imIuIT82SOuREogClO0k
+bYcoZlyJejLuXuslqXYMpczKVotyPbWpXGvdBypprmJTeSi+D7zwJkB3pEnKOrOl
+u3pXUZE8zHc4n9u1B8Yp/u9XaHBaW+GfD61cdCH/LNqlSFcHFrMqd4VJjilmItEA
+nZTsQG54i6K4C4u+gMK7d+eZlJbiW5C/g+J60H+gZiZO1HdidGOYOEhUoU+6a78t
+ylFMG5e8kIy7C2VXBj40e7GYvDyQh8zZP97d/QYnaA/LaqBUR1iQK05xFBpEREaz
+HIDThefh8evkSPJ4vYJpcCjpNaJBsZgpwQ6ga5V/jwchrTxrybHN2Ld9Kj9NWtw4
+wLFQGYK/W/1PPLbU/lclm9rpOC360kNzzlG66ydM5R5MT9LKMyc=
+=X/c4
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+71ad5521e4f882173109c3bc0bf201649ed9c290e760600af68a3636a8cafac08dca0ba110c5e47a35abbba91807cb30ddf53cf76b5c85b47e76d26546760abc
  ./x64-windows-static/include/pulsar/c/producer.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,225 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/c/message_router.h>
+#include <pulsar/defines.h>
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum
+{
+    pulsar_UseSinglePartition,
+    pulsar_RoundRobinDistribution,
+    pulsar_CustomPartition
+} pulsar_partitions_routing_mode;
+
+typedef enum
+{
+    pulsar_Murmur3_32Hash,
+    pulsar_BoostHash,
+    pulsar_JavaStringHash
+} pulsar_hashing_scheme;
+
+typedef enum
+{
+    pulsar_CompressionNone = 0,
+    pulsar_CompressionLZ4 = 1,
+    pulsar_CompressionZLib = 2,
+    pulsar_CompressionZSTD = 3,
+    pulsar_CompressionSNAPPY = 4
+} pulsar_compression_type;
+
+typedef enum
+{
+    pulsar_None = 0,
+    pulsar_String = 1,
+    pulsar_Json = 2,
+    pulsar_Protobuf = 3,
+    pulsar_Avro = 4,
+    pulsar_Boolean = 5,
+    pulsar_Int8 = 6,
+    pulsar_Int16 = 7,
+    pulsar_Int32 = 8,
+    pulsar_Int64 = 9,
+    pulsar_Float32 = 10,
+    pulsar_Float64 = 11,
+    pulsar_KeyValue = 15,
+    pulsar_Bytes = -1,
+    pulsar_AutoConsume = -3,
+    pulsar_AutoPublish = -4,
+} pulsar_schema_type;
+
+typedef enum
+{
+    // This is the default option to fail send if crypto operation fails
+    pulsar_ProducerFail,
+    // Ignore crypto failure and proceed with sending unencrypted messages
+    pulsar_ProducerSend
+} pulsar_producer_crypto_failure_action;
+
+typedef struct _pulsar_producer_configuration pulsar_producer_configuration_t;
+
+typedef struct _pulsar_crypto_key_reader pulsar_crypto_key_reader;
+
+PULSAR_PUBLIC pulsar_producer_configuration_t 
*pulsar_producer_configuration_create();
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_free(pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_producer_name(pulsar_producer_configuration_t 
*conf,
+                                                                   const char 
*producerName);
+
+PULSAR_PUBLIC const char *pulsar_producer_configuration_get_producer_name(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_send_timeout(pulsar_producer_configuration_t 
*conf,
+                                                                  int 
sendTimeoutMs);
+
+PULSAR_PUBLIC int 
pulsar_producer_configuration_get_send_timeout(pulsar_producer_configuration_t 
*conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_initial_sequence_id(
+    pulsar_producer_configuration_t *conf, int64_t initialSequenceId);
+
+PULSAR_PUBLIC int64_t
+pulsar_producer_configuration_get_initial_sequence_id(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_compression_type(
+    pulsar_producer_configuration_t *conf, pulsar_compression_type 
compressionType);
+
+PULSAR_PUBLIC pulsar_compression_type
+pulsar_producer_configuration_get_compression_type(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_schema_info(pulsar_producer_configuration_t 
*conf,
+                                                                 
pulsar_schema_type schemaType,
+                                                                 const char 
*name, const char *schema,
+                                                                 
pulsar_string_map_t *properties);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_max_pending_messages(
+    pulsar_producer_configuration_t *conf, int maxPendingMessages);
+PULSAR_PUBLIC int pulsar_producer_configuration_get_max_pending_messages(
+    pulsar_producer_configuration_t *conf);
+
+/**
+ * Set the number of max pending messages across all the partitions
+ * <p>
+ * This setting will be used to lower the max pending messages for each 
partition
+ * ({@link #setMaxPendingMessages(int)}), if the total exceeds the configured 
value.
+ *
+ * @param maxPendingMessagesAcrossPartitions
+ */
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_max_pending_messages_across_partitions(
+    pulsar_producer_configuration_t *conf, int 
maxPendingMessagesAcrossPartitions);
+
+/**
+ *
+ * @return the maximum number of pending messages allowed across all the 
partitions
+ */
+PULSAR_PUBLIC int 
pulsar_producer_configuration_get_max_pending_messages_across_partitions(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_partitions_routing_mode(
+    pulsar_producer_configuration_t *conf, pulsar_partitions_routing_mode 
mode);
+
+PULSAR_PUBLIC pulsar_partitions_routing_mode
+pulsar_producer_configuration_get_partitions_routing_mode(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_message_router(pulsar_producer_configuration_t
 *conf,
+                                                                    
pulsar_message_router router, void *ctx);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_hashing_scheme(pulsar_producer_configuration_t
 *conf,
+                                                                    
pulsar_hashing_scheme scheme);
+
+PULSAR_PUBLIC pulsar_hashing_scheme
+pulsar_producer_configuration_get_hashing_scheme(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_lazy_start_partitioned_producers(
+    pulsar_producer_configuration_t *conf, int 
useLazyStartPartitionedProducers);
+
+PULSAR_PUBLIC int 
pulsar_producer_configuration_get_lazy_start_partitioned_producers(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_block_if_queue_full(
+    pulsar_producer_configuration_t *conf, int blockIfQueueFull);
+
+PULSAR_PUBLIC int pulsar_producer_configuration_get_block_if_queue_full(
+    pulsar_producer_configuration_t *conf);
+
+// Zero queue size feature will not be supported on consumer end if batching 
is enabled
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_batching_enabled(pulsar_producer_configuration_t
 *conf,
+                                                                      int 
batchingEnabled);
+
+PULSAR_PUBLIC int 
pulsar_producer_configuration_get_batching_enabled(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_batching_max_messages(
+    pulsar_producer_configuration_t *conf, unsigned int batchingMaxMessages);
+
+PULSAR_PUBLIC unsigned int 
pulsar_producer_configuration_get_batching_max_messages(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_batching_max_allowed_size_in_bytes(
+    pulsar_producer_configuration_t *conf, unsigned long 
batchingMaxAllowedSizeInBytes);
+
+PULSAR_PUBLIC unsigned long 
pulsar_producer_configuration_get_batching_max_allowed_size_in_bytes(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_batching_max_publish_delay_ms(
+    pulsar_producer_configuration_t *conf, unsigned long 
batchingMaxPublishDelayMs);
+
+PULSAR_PUBLIC unsigned long 
pulsar_producer_configuration_get_batching_max_publish_delay_ms(
+    pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_property(pulsar_producer_configuration_t 
*conf,
+                                                              const char 
*name, const char *value);
+
+PULSAR_PUBLIC int 
pulsar_producer_is_encryption_enabled(pulsar_producer_configuration_t *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_default_crypto_key_reader(
+    pulsar_producer_configuration_t *conf, const char *public_key_path, const 
char *private_key_path);
+
+PULSAR_PUBLIC pulsar_producer_crypto_failure_action
+pulsar_producer_configuration_get_crypto_failure_action(pulsar_producer_configuration_t
 *conf);
+
+PULSAR_PUBLIC void pulsar_producer_configuration_set_crypto_failure_action(
+    pulsar_producer_configuration_t *conf, 
pulsar_producer_crypto_failure_action cryptoFailureAction);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_encryption_key(pulsar_producer_configuration_t
 *conf,
+                                                                    const char 
*key);
+
+PULSAR_PUBLIC void 
pulsar_producer_configuration_set_chunking_enabled(pulsar_producer_configuration_t
 *conf,
+                                                                      int 
chunkingEnabled);
+
+PULSAR_PUBLIC int 
pulsar_producer_configuration_is_chunking_enabled(pulsar_producer_configuration_t
 *conf);
+
+// const CryptoKeyReaderPtr getCryptoKeyReader() const;
+// ProducerConfiguration &setCryptoKeyReader(CryptoKeyReaderPtr 
cryptoKeyReader);
+//
+// ProducerCryptoFailureAction getCryptoFailureAction() const;
+// ProducerConfiguration &setCryptoFailureAction(ProducerCryptoFailureAction 
action);
+//
+// std::set <std::string> &getEncryptionKeys();
+// int isEncryptionEnabled() const;
+// ProducerConfiguration &addEncryptionKey(std::string key);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ8ACgkQT0AbyNP5
++1UHGg/+K3Lt8uLzpteK3NkdKozp4IgmB3RM/8mrLFtipzGnUfxgYzpJq3K76LZP
+vZYEmFu5wjHJOZddGN82dylMuzEWQxAULucGWI3F25Ig9U7+f/SQZv46e20JHfWs
+ecEgvkPB2s82WPUSlTzC83KaR7HJXCozNT7FVK3SZFPxWh8oOuMQ+00wiAMvWnNI
+RhS96PAwlwfaIKNYdfmzm1SySUSD6k1h7AZxPJ9IdZU3iD7ImXKdiDnyRUPpphQ7
+EhBjzsNNqiF+r8JApT2MEoV0gI/Aef6eYmToaHdVLiUSit4dIQSdceh9dukDF3h4
+DaJ7jFvKM6AKiiiVGnjUkhy34F1woxrI1Q66U2k0afBrGuEqnS3Q8IKZwE5rwQ74
+OkpzZ24izXKkT3OaCsf5SSqRwqpPjV0/G8AhiNsQq8BE34R3U/uKXT6MAUl/j4VM
+nVuQITPOLWA4Wcl6USYF3uvGyGuxcL3x4IkzUBpW0qkLC86b1VxZ8lp4fyJpl6Au
+Xf97eSKsANg+RW5tBRsSB3Znc9ISI0npoavvnGPYB2WgEjt39JlFAV1nC7P8Q+1H
+a3M3hti7Bip0ZlJUx3AkmFeAUO8Awi4F4x7AFle6FpqizoHzOS6OMrCL19tdZYSO
+Ss8TR/Q1gB1a9p2e1o24B7D2wGksd0jTGeJD7cyKhDNExWNtKWc=
+=LknN
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/producer_configuration.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+712d2ca9dc38369d1e20b697eccb5244651c58d58f9e0c991d3b34e48498f92ff9b5710b5ef25310b74f19fbdddcd41e831379fa29e9e8a9a56afad5341a0d3f
  ./x64-windows-static/include/pulsar/c/producer_configuration.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,119 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#pragma once
+
+#include <pulsar/c/message.h>
+#include <pulsar/c/result.h>
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_reader pulsar_reader_t;
+
+typedef void (*pulsar_result_callback)(pulsar_result, void *);
+
+/**
+ * @return the topic this reader is reading from
+ */
+PULSAR_PUBLIC const char *pulsar_reader_get_topic(pulsar_reader_t *reader);
+
+/**
+ * Read a single message.
+ *
+ * If a message is not immediately available, this method will block until a 
new
+ * message is available.
+ *
+ * @param msg a non-const reference where the received message will be copied
+ * @return ResultOk when a message is received
+ * @return ResultInvalidConfiguration if a message listener had been set in 
the configuration
+ */
+PULSAR_PUBLIC pulsar_result pulsar_reader_read_next(pulsar_reader_t *reader, 
pulsar_message_t **msg);
+
+/**
+ * Read a single message
+ *
+ * @param msg a non-const reference where the received message will be copied
+ * @param timeoutMs the receive timeout in milliseconds
+ * @return ResultOk if a message was received
+ * @return ResultTimeout if the receive timeout was triggered
+ * @return ResultInvalidConfiguration if a message listener had been set in 
the configuration
+ */
+PULSAR_PUBLIC pulsar_result 
pulsar_reader_read_next_with_timeout(pulsar_reader_t *reader,
+                                                                 
pulsar_message_t **msg, int timeoutMs);
+
+/**
+ * Reset the subscription associated with this reader to a specific message id.
+ *
+ * @param reader The reader
+ * @param messageId The message id can either be a specific message or 
represent the first or last messages in
+ * the topic.
+ * @param callback The callback for this async operation
+ * @param ctx The context for the callback
+ */
+PULSAR_PUBLIC void pulsar_reader_seek_async(pulsar_reader_t *reader, 
pulsar_message_id_t *messageId,
+                                            pulsar_result_callback callback, 
void *ctx);
+
+/**
+ * Reset the subscription asynchronously associated with this reader to a 
specific message id.
+ *
+ * @param reader The reader
+ * @param messageId The message id can either be a specific message or 
represent the first or last messages in
+ * the topic.
+ * @return Operation result
+ */
+PULSAR_PUBLIC pulsar_result pulsar_reader_seek(pulsar_reader_t *reader, 
pulsar_message_id_t *messageId);
+
+/**
+ * Reset the subscription associated with this reader to a specific message 
publish time.
+ *
+ * @param reader The reader
+ * @param timestamp The message publish time where to reposition the 
subscription. The timestamp format should
+ * be Unix time in milliseconds.
+ * @param callback The callback for this async operation
+ * @param ctx The context for the callback
+ */
+PULSAR_PUBLIC void pulsar_reader_seek_by_timestamp_async(pulsar_reader_t 
*reader, uint64_t timestamp,
+                                                         
pulsar_result_callback callback, void *ctx);
+
+/**
+ * Reset the subscription asynchronously associated with this reader to a 
specific message publish time.
+ *
+ * @param reader The reader
+ * @param timestamp The message publish time where to reposition the 
subscription. The timestamp format should
+ * be Unix time in milliseconds.
+ * @return Operation result
+ */
+PULSAR_PUBLIC pulsar_result pulsar_reader_seek_by_timestamp(pulsar_reader_t 
*reader, uint64_t timestamp);
+
+PULSAR_PUBLIC pulsar_result pulsar_reader_close(pulsar_reader_t *reader);
+
+PULSAR_PUBLIC void pulsar_reader_close_async(pulsar_reader_t *reader, 
pulsar_result_callback callback,
+                                             void *ctx);
+
+PULSAR_PUBLIC void pulsar_reader_free(pulsar_reader_t *reader);
+
+PULSAR_PUBLIC pulsar_result 
pulsar_reader_has_message_available(pulsar_reader_t *reader, int *available);
+
+PULSAR_PUBLIC int pulsar_reader_is_connected(pulsar_reader_t *reader);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZwACgkQT0AbyNP5
++1WNzw/+OKD0VtzB/pNwWZHnfT4H+/CyMXl2fhh12iRoZvjDAiIUR4gvCS3NNmpa
+f1hvCu/QB8cWNAjAKJzOn2ivUrVKaSLEFpRjHbbZSZZkdW+v/v+wNKBOOCrQBzXK
+pEVOjjMt3x8K/DhNNymYtQPSYqW/EcSApWxTxRGQq7RPbC6hjA9X8AE1NcYHWznz
+TpkmudSR/FjCiDqZOVP01HYzXtL6kJRaz6qBwfQEOjA6KKdPmmHvbvDlBv7PN5Pm
+0EzkGo3AbTnwJl4Xk7F3QVpmhZf3iKojbqhAWBLrsmhSZlyDOcAgYQJlKmgR6Wk2
+51ZPFDE5nYDLlo+mxElc+RgTWj7QtKelaUWIURmKZLoggm2DUMalD6HZ+Yd4J7lG
+dDU2BJ4SvO1KjPIxPuiJ9oS0LzuWNXEIXHBSZHizKgLcAwNouDoTaqW2Nq2r9XNi
+3GKxhUwp+36Rkr1PaBH27lFbngybvU25z0qwQ8kgElgdMyexhBHofrCHJiKZ2Nl7
+ggQ9RbeXw4uUyxNHR3DqMUe9oFVFP9/Sd+80WNV1aFsLHEuxGzPA8namgPt1t3SM
+RYpmwpjvfK+LYIDPAswYUD7GwAwPOmlREL5Ts6n0R7C4k/8sP4UnYfZcDD8inUiO
+0hQ4Xwyzkfz6PcKkq4psh/MTkqS/Ub6swn6TdApnWrMhOfIdgWI=
+=lqPB
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+b5ae8bdba582d76881c2bef91ef6ab94ec17a27a4bc5a243a2e150b5fb823b9a197f659c2457bfa2542e663cb01d8872ece2a97762e1abfeef520ad454b9272e
  ./x64-windows-static/include/pulsar/c/reader.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,94 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/c/message.h>
+#include <pulsar/c/reader.h>
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_reader_configuration pulsar_reader_configuration_t;
+
+typedef void (*pulsar_reader_listener)(pulsar_reader_t *reader, 
pulsar_message_t *msg, void *ctx);
+
+PULSAR_PUBLIC pulsar_reader_configuration_t 
*pulsar_reader_configuration_create();
+
+PULSAR_PUBLIC void 
pulsar_reader_configuration_free(pulsar_reader_configuration_t *configuration);
+
+/**
+ * A message listener enables your application to configure how to process
+ * messages. A listener will be called in order for every message received.
+ */
+PULSAR_PUBLIC void pulsar_reader_configuration_set_reader_listener(
+    pulsar_reader_configuration_t *configuration, pulsar_reader_listener 
listener, void *ctx);
+
+PULSAR_PUBLIC int pulsar_reader_configuration_has_reader_listener(
+    pulsar_reader_configuration_t *configuration);
+
+/**
+ * Sets the size of the reader receive queue.
+ *
+ * The consumer receive queue controls how many messages can be accumulated by 
the Consumer before the
+ * application calls receive(). Using a higher value could potentially 
increase the consumer throughput
+ * at the expense of bigger memory utilization.
+ *
+ * Setting the consumer queue size as zero decreases the throughput of the 
consumer, by disabling
+ * pre-fetching of
+ * messages. This approach improves the message distribution on shared 
subscription, by pushing messages
+ * only to
+ * the consumers that are ready to process them. Neither receive with timeout 
nor Partitioned Topics can
+ * be
+ * used if the consumer queue size is zero. The receive() function call should 
not be interrupted when
+ * the consumer queue size is zero.
+ *
+ * Default value is 1000 messages and should be good for most use cases.
+ *
+ * @param size
+ *            the new receiver queue size value
+ */
+PULSAR_PUBLIC void pulsar_reader_configuration_set_receiver_queue_size(
+    pulsar_reader_configuration_t *configuration, int size);
+
+PULSAR_PUBLIC int pulsar_reader_configuration_get_receiver_queue_size(
+    pulsar_reader_configuration_t *configuration);
+
+PULSAR_PUBLIC void 
pulsar_reader_configuration_set_reader_name(pulsar_reader_configuration_t 
*configuration,
+                                                               const char 
*readerName);
+
+PULSAR_PUBLIC const char *pulsar_reader_configuration_get_reader_name(
+    pulsar_reader_configuration_t *configuration);
+
+PULSAR_PUBLIC void pulsar_reader_configuration_set_subscription_role_prefix(
+    pulsar_reader_configuration_t *configuration, const char 
*subscriptionRolePrefix);
+
+PULSAR_PUBLIC const char 
*pulsar_reader_configuration_get_subscription_role_prefix(
+    pulsar_reader_configuration_t *configuration);
+
+PULSAR_PUBLIC void pulsar_reader_configuration_set_read_compacted(
+    pulsar_reader_configuration_t *configuration, int readCompacted);
+
+PULSAR_PUBLIC int 
pulsar_reader_configuration_is_read_compacted(pulsar_reader_configuration_t 
*configuration);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ8ACgkQT0AbyNP5
++1XmZA/8DieA1/qYW+6pAdHlB6Ozi4fxQBmGXu67DFCIaGazW3aISfjwwEHgmmMD
+5VTdEmXYcfX4MldJvHlplwChzMML/MWSrsv2rS5SooYs+/F5AJj9rHKtIdy7tkcs
+i0zmWhuMMyphUspaHw+xO9gTobFUKuWKyOrQ+AYzJPKFSIY9oWns/q+Yl2Qq1ECy
+ByFg6qHnF5L28g08DX+3jDJtwMKyJYfIfSJadUKCVrucS5VRRRp8JUMWPiInfOiK
+tL0kw7M1bKadp40fHazoKAaXRWkQ/rDxYcp2/RY8znmBtzfdgneAyoU6XeWyu5do
+Mec0h7ZuOkSI4gYzFz3NnvBGNgppnx9eN0J/K9z3CY18HJNJlG5KaB7BdQwPLylP
+8Yg4JQdVW1MEG3zAW9fK6R+aEQMkrjIgtwvSoMOUyaHEHrZ9xcw+YdFjoQ0RAsWD
+T4hrdd7t1WN33vHFABqJ2ZrFnhHAN74XPgqOxleylcYvzycdLigmbwIwqa23DgLt
+D+qytwJeBV5P8YSkUdq/H+/SSPwNDZteD2R2P4CVdzEopWyLo1GX2ryJRrgek7kk
+w9vstYCGkUgzjYGoqk5rpjzsl0RHhuWUxnAfLWV3RtE4fWWbRBwyub1sYLAqAM1Y
+rUNNEpsEhOkQjsS7L95/dsnwTLzyWe3hu7twf2rhQQfaHOGAwQM=
+=XNjU
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/reader_configuration.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+95c371beea7e30c2ffbfd5e9d4fc367a8d57953ec24bbeae7dc2408969a30248ee2ed6e7602601ae8f825cd5f10874c20e71cba86699a8a81c0b0b4c8aa4f464
  ./x64-windows-static/include/pulsar/c/reader_configuration.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,102 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum
+{
+    pulsar_result_Ok,  /// Operation successful
+
+    pulsar_result_UnknownError,  /// Unknown error happened on broker
+
+    pulsar_result_InvalidConfiguration,  /// Invalid configuration
+
+    pulsar_result_Timeout,       /// Operation timed out
+    pulsar_result_LookupError,   /// Broker lookup failed
+    pulsar_result_ConnectError,  /// Failed to connect to broker
+    pulsar_result_ReadError,     /// Failed to read from socket
+
+    pulsar_result_AuthenticationError,             /// Authentication failed 
on broker
+    pulsar_result_AuthorizationError,              /// Client is not 
authorized to create producer/consumer
+    pulsar_result_ErrorGettingAuthenticationData,  /// Client cannot find 
authorization data
+
+    pulsar_result_BrokerMetadataError,     /// Broker failed in updating 
metadata
+    pulsar_result_BrokerPersistenceError,  /// Broker failed to persist entry
+    pulsar_result_ChecksumError,           /// Corrupt message checksum failure
+
+    pulsar_result_ConsumerBusy,   /// Exclusive consumer is already connected
+    pulsar_result_NotConnected,   /// Producer/Consumer is not currently 
connected to broker
+    pulsar_result_AlreadyClosed,  /// Producer/Consumer is already closed and 
not accepting any operation
+
+    pulsar_result_InvalidMessage,  /// Error in publishing an already used 
message
+
+    pulsar_result_ConsumerNotInitialized,         /// Consumer is not 
initialized
+    pulsar_result_ProducerNotInitialized,         /// Producer is not 
initialized
+    pulsar_result_ProducerBusy,                   /// Producer with same name 
is already connected
+    pulsar_result_TooManyLookupRequestException,  /// Too Many concurrent 
LookupRequest
+
+    pulsar_result_InvalidTopicName,  /// Invalid topic name
+    pulsar_result_InvalidUrl,        /// Client Initialized with Invalid 
Broker Url (VIP Url passed to Client
+                                     /// Constructor)
+    pulsar_result_ServiceUnitNotReady,  /// Service Unit unloaded between 
client did lookup and
+                                        /// producer/consumer got
+    /// created
+    pulsar_result_OperationNotSupported,
+    pulsar_result_ProducerBlockedQuotaExceededError,      /// Producer is 
blocked
+    pulsar_result_ProducerBlockedQuotaExceededException,  /// Producer is 
getting exception
+    pulsar_result_ProducerQueueIsFull,                    /// Producer queue 
is full
+    pulsar_result_MessageTooBig,                          /// Trying to send a 
messages exceeding the max size
+    pulsar_result_TopicNotFound,                          /// Topic not found
+    pulsar_result_SubscriptionNotFound,                   /// Subscription not 
found
+    pulsar_result_ConsumerNotFound,                       /// Consumer not 
found
+    pulsar_result_UnsupportedVersionError,  /// Error when an older 
client/version doesn't support a required
+                                            /// feature
+    pulsar_result_TopicTerminated,          /// Topic was already terminated
+    pulsar_result_CryptoError,              /// Error when crypto operation 
fails
+
+    pulsar_result_IncompatibleSchema,   /// Specified schema is incompatible 
with the topic's schema
+    pulsar_result_ConsumerAssignError,  /// Error when a new consumer 
connected but can't assign messages to
+                                        /// this
+    /// consumer
+    pulsar_result_CumulativeAcknowledgementNotAllowedError,  /// Not allowed 
to call cumulativeAcknowledgement
+                                                             /// in
+    /// Shared and Key_Shared subscription mode
+    pulsar_result_TransactionCoordinatorNotFoundError,  /// Transaction 
coordinator not found
+    pulsar_result_InvalidTxnStatusError,                /// Invalid txn status 
error
+    pulsar_result_NotAllowedError,                      /// Not allowed
+    pulsar_result_TransactionConflict,                  /// Transaction ack 
conflict
+    pulsar_result_TransactionNotFound,                  /// Transaction not 
found
+    pulsar_result_ProducerFenced,                       /// Producer was 
fenced by broker
+
+    pulsar_result_MemoryBufferIsFull,  /// Client-wide memory limit has been 
reached
+    pulsar_result_Interrupted,         /// Interrupted while waiting to dequeue
+} pulsar_result;
+
+// Return string representation of result code
+PULSAR_PUBLIC const char *pulsar_result_str(pulsar_result result);
+
+#ifdef __cplusplus
+}
+#endif

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ0ACgkQT0AbyNP5
++1VIPRAAsZCF8cHMPP4KgSdP2BxICWw9KATKCl6uQU+76ODlIwXlXTIH58sGJGvS
+Ez0VWo+XhhJNdvRSsF4DYNOZAhAvjuHL3Xsw3oFgj7EHdwdOM5Uzg/ZLDvuanInM
+nQCesPdsOc3yDYsYqpPT/+JGZ/d2RWH1tMKH3TjInt/8HRzo+G4y2WBLoib31dSi
+JCBID4RkvDfg9JHlKlqi/SBNEegJpPcvK/i9ilaAkfKnn8JLKmQsowadCQWK5OR6
+fvafeEEkR+yZfIUc5/BrdfUQ9yKB5WXz+gXxQzyIvby9SjYG/IcHJIvvtZlb/DW/
+mDxa5Q+tW6e5F4vSYCSbRZCJlU8bmjJQV1jST6NMBzf1oFr5YPljqSqOZZeO5bHa
++HUDmoRMwfcR21CG7j4xWiFWtpUMuVyhydgRMIgRKOfZ3C1jm7jAd7wLTxc8+aKa
+oTOyE14yudbBYz0hK9kfZFadxlPNmNijkSOusD1LJ4rqomd/0RiMez4IDRCV4cqQ
+sJ6WwwRNkhv3YyTD+TG2tdN9wwyCPWaWaH4FbXNGgs3XxEG5fpP5WWQTlQZdzg57
+xPzTkosJ/cE2MEui2+8itKqMIGqjXWhNgSOQivFdViipKXjhE2swWijdWeZiJVFV
+3mvLIwPDLKekSr4gVVXZFcZ/9NO+tI3SVM64KY56pBhY1eq/pRo=
+=GoHz
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/result.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+0e536f6995cbb27d8cf78d02e1c20703ed62bde53024dce17029735b191913321d7887cc5bdcf1f6c87d6529435c4a0c158e4c0c6b41f0a75fa70d01289f045c
  ./x64-windows-static/include/pulsar/c/result.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_string_list pulsar_string_list_t;
+
+PULSAR_PUBLIC pulsar_string_list_t *pulsar_string_list_create();
+PULSAR_PUBLIC void pulsar_string_list_free(pulsar_string_list_t *list);
+
+PULSAR_PUBLIC int pulsar_string_list_size(pulsar_string_list_t *list);
+
+PULSAR_PUBLIC void pulsar_string_list_append(pulsar_string_list_t *list, const 
char *item);
+
+PULSAR_PUBLIC const char *pulsar_string_list_get(pulsar_string_list_t *map, 
int index);
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZwACgkQT0AbyNP5
++1XdWA/+IrikOii0fatiMI6nsIDrBkJQ4U0eGr0hx+xOjqRPuirA8sUP85FCyg8W
+P7kvod9VowKJlBFnUNfSKB4a0Cx0cGEcThqTHa1qglxy0ktv8Sd1JUbwVVS7fVAg
+wSGMXRq9rlUULpxkK8gyZmnlfvB8NOvKhFD7AZmsXgtcps5gayJe06x9KHvBHLyZ
+S6iiWwbebccXJADyCQjHFO9TaK27o/+xPg0X9rvIrrUZCLQhh+X6WRKoxdDCN2mB
+mYiDvLz8eERJdx/9MqChdtsljwtRrTLKH9KGc2gP5WKgrR+pZZ0DQTC/b2guvQiI
+hICy0Vzkf0P6fhgt9wxeZK0nocvzN7s7GRDLy6eMHmz5yOE+rsMbSnSq9bhMb0QO
+ea8stYdq+eHuCI84u7jv/yG44LX6LGzwoRtggP/v0548eq2z+wnkkXMc81/Rs6pV
+EL7P1/+2k7oU3kmbqPhINSed2qu0y9Bn+Uv07RgxscoYTb1HrMDhzWhWaam/GHRZ
+PAVKWNAItp9ll6qxMvgENlG7JDWXZcePh/A1tIV+aEG7VxbQZCS2Z3xzhjf9YEmx
+nG/PN/Ozq2dx7ykRdBKncRwRY4EmcC8ImTkytaVUpUqms58eYJb9HsujGspEDyxy
+kQYbM7WxV5GJAkQ4WULLr5kNtblB0NI3fOHK+f7Tl0ESUgTTQuA=
+=8FNy
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_list.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+993cabe032a39d168e483952dfdca922e9d61e3c15b3c779e57b787926585024a115510992aca36ca5c3ccbd771d505c8d704d245f822454dd78d9d470f40571
  ./x64-windows-static/include/pulsar/c/string_list.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/defines.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _pulsar_string_map pulsar_string_map_t;
+
+PULSAR_PUBLIC pulsar_string_map_t *pulsar_string_map_create();
+PULSAR_PUBLIC void pulsar_string_map_free(pulsar_string_map_t *map);
+
+PULSAR_PUBLIC int pulsar_string_map_size(pulsar_string_map_t *map);
+
+PULSAR_PUBLIC void pulsar_string_map_put(pulsar_string_map_t *map, const char 
*key, const char *value);
+
+PULSAR_PUBLIC const char *pulsar_string_map_get(pulsar_string_map_t *map, 
const char *key);
+
+PULSAR_PUBLIC const char *pulsar_string_map_get_key(pulsar_string_map_t *map, 
int idx);
+PULSAR_PUBLIC const char *pulsar_string_map_get_value(pulsar_string_map_t 
*map, int idx);
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ4ACgkQT0AbyNP5
++1XtnA/+OAy89s2NqactlpXcDZ07WA0TofiFiLuhTSGKurbrffzokF6oM2jjtJcr
+peOzeiBwBZVmXOxGpXfhQBjplF8lWqbFwbgviHfqJj4p5H7u5TO6vc1bBxlhU7TL
+Y1YCFMXW0Gvw49IeOuPREhlSsvgTUiO/2FktptJpftfQ8wOIirc5Gcvee0aafWlK
+gq8IXaeiR73M2se71MzwC4ANAtit6OIzbEHaWFaFtiKbWsw7920KNxsL/1Oi6iCd
+hKoaFsJsGUj/rfdwxWvFhW+CTIyOz1EL3QhKu06oHClQYSZmBIaJyGFduFsdlxQl
+vD8nC+yEKvwhVtBI9bc01K0apm6sS6dcqBMdR9Z3/UD8nLy4T+KxSeGxpKN70/dn
+VmXKZK441/7I7SHAypDq48oa0SqF8LS0GsfkSStABCWEgb0/FRBlOTeiVT4NZp/I
+OmwWCt1zBkv5UWAo8fUlwYPhbu2GxKivnzREB9peOgnnu7fhdIpEI4ncbilEzLlX
+K3mcB63zHvShg5r4dvVfaLhlNO/dbA1qHIKSlt0dtATOab7lyg+5QR+OUiVdZEFJ
+6rLyAdTkNHNmlTkN3O6XxsyOTIdXre2+3RMBbe6VW7oP80QHP65bOSc2/IJvOp1V
+toBhcJqyAGyjOYHTajQhzO5YZnIwiJP0bJnL7NcJq2XTWzFm2Vc=
+=rDOg
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/string_map.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+adca8ad1d1242f7954cbbb2abe13f1ef1a6327257e8d039f8f46092f0e83b0e63db1fd739627de1a7e79781acbbe157b33ded8936cf0ba1e9250f08aa7a02d18
  ./x64-windows-static/include/pulsar/c/string_map.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#pragma once
+
+#include <pulsar/Version.h>

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZ0ACgkQT0AbyNP5
++1VC4hAAoH8gMt1T5q8znYk+pFGfPMaRFb4V9G9BY8dC8AGIpjCNByPuIoTAT9Dk
+obQPUZb+ZUPcuPtAseMh1XLT8bsHaCcXEfXxaUCOcDd9ru9en+fl/9rKzY7soxeu
+uM7/MGrVGd9v9hyAp2NRQEjswV+WZJXFVekkDflEIfhkuLT4xvtcD54iu/Uh4mZv
+2zCZYMb2ffccdATbPiTf7w7j+JtsQDfy+SgKfxYAL7oy0/2E6GbNIEge8mwC3CUC
+moMIaJvDhAC4rnHi3XDmuNdvo7mlH5KF+iqmM0c/0+73ajqJRsP36SmjRwJcek+b
+AHyPVqJ2vjX9/jZO5HqpD1gRB2LF/7VcKsrjtknQ1uxO6yvq++WuknrQ0vagrMUd
+vfHmILY668EsqtM6CRy8l+frmwDHJWeHdtm9WcMfcZd5h//gKRAS8llurDZauw7h
+CoRwZ6VSK/x6ynCHhpURwR2fYwkj0sGoM43QlP5CZywzlSXA55yv09jypa8i/8Pq
+qRQrtWRDFhnM99DE794nraE4fYJJgyg4AU1HagvuBA+lY30Ync2yz+x0zemByGQC
+HpTnNCJkNXkqWrLYLrJIIddIpAHTqq8fsw8ThCGo9ns57hmHKj33gkT/UfLH5Rgr
+aQwPI5tA9GDq6ZJ+h/C6+dDei3BvANGHpbtnE1NyeZNNDs3AIWw=
+=vjxL
+-----END PGP SIGNATURE-----


Reply via email to