karafka-rdkafka 0.21.0-aarch64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/.github/CODEOWNERS +3 -0
  3. data/.github/FUNDING.yml +1 -0
  4. data/.github/workflows/ci_linux_alpine_x86_64_musl.yml +197 -0
  5. data/.github/workflows/ci_linux_alpine_x86_64_musl_complementary.yml +264 -0
  6. data/.github/workflows/ci_linux_debian_x86_64_gnu.yml +271 -0
  7. data/.github/workflows/ci_linux_debian_x86_64_gnu_complementary.yml +334 -0
  8. data/.github/workflows/ci_linux_ubuntu_aarch64_gnu.yml +271 -0
  9. data/.github/workflows/ci_linux_ubuntu_aarch64_gnu_complementary.yml +295 -0
  10. data/.github/workflows/ci_linux_ubuntu_x86_64_gnu.yml +281 -0
  11. data/.github/workflows/ci_linux_ubuntu_x86_64_gnu_complementary.yml +294 -0
  12. data/.github/workflows/ci_macos_arm64.yml +284 -0
  13. data/.github/workflows/push_linux_aarch64_gnu.yml +65 -0
  14. data/.github/workflows/push_linux_x86_64_gnu.yml +65 -0
  15. data/.github/workflows/push_linux_x86_64_musl.yml +79 -0
  16. data/.github/workflows/push_macos_arm64.yml +54 -0
  17. data/.github/workflows/push_ruby.yml +37 -0
  18. data/.github/workflows/trigger-wiki-refresh.yml +30 -0
  19. data/.github/workflows/verify-action-pins.yml +16 -0
  20. data/.gitignore +16 -0
  21. data/.rspec +3 -0
  22. data/.ruby-gemset +1 -0
  23. data/.ruby-version +1 -0
  24. data/.yardopts +2 -0
  25. data/CHANGELOG.md +344 -0
  26. data/Gemfile +5 -0
  27. data/MIT-LICENSE +22 -0
  28. data/README.md +78 -0
  29. data/Rakefile +96 -0
  30. data/dist/cyrus-sasl-2.1.28.tar.gz +0 -0
  31. data/dist/krb5-1.21.3.tar.gz +0 -0
  32. data/dist/openssl-3.0.16.tar.gz +0 -0
  33. data/dist/zlib-1.3.1.tar.gz +0 -0
  34. data/dist/zstd-1.5.7.tar.gz +0 -0
  35. data/docker-compose-ssl.yml +35 -0
  36. data/docker-compose.yml +25 -0
  37. data/ext/README.md +19 -0
  38. data/ext/Rakefile +131 -0
  39. data/ext/build_common.sh +376 -0
  40. data/ext/build_linux_aarch64_gnu.sh +326 -0
  41. data/ext/build_linux_x86_64_gnu.sh +317 -0
  42. data/ext/build_linux_x86_64_musl.sh +773 -0
  43. data/ext/build_macos_arm64.sh +557 -0
  44. data/ext/generate-ssl-certs.sh +109 -0
  45. data/ext/librdkafka.so +0 -0
  46. data/karafka-rdkafka.gemspec +65 -0
  47. data/lib/rdkafka/abstract_handle.rb +116 -0
  48. data/lib/rdkafka/admin/acl_binding_result.rb +51 -0
  49. data/lib/rdkafka/admin/config_binding_result.rb +30 -0
  50. data/lib/rdkafka/admin/config_resource_binding_result.rb +18 -0
  51. data/lib/rdkafka/admin/create_acl_handle.rb +28 -0
  52. data/lib/rdkafka/admin/create_acl_report.rb +24 -0
  53. data/lib/rdkafka/admin/create_partitions_handle.rb +30 -0
  54. data/lib/rdkafka/admin/create_partitions_report.rb +6 -0
  55. data/lib/rdkafka/admin/create_topic_handle.rb +32 -0
  56. data/lib/rdkafka/admin/create_topic_report.rb +24 -0
  57. data/lib/rdkafka/admin/delete_acl_handle.rb +30 -0
  58. data/lib/rdkafka/admin/delete_acl_report.rb +23 -0
  59. data/lib/rdkafka/admin/delete_groups_handle.rb +28 -0
  60. data/lib/rdkafka/admin/delete_groups_report.rb +24 -0
  61. data/lib/rdkafka/admin/delete_topic_handle.rb +32 -0
  62. data/lib/rdkafka/admin/delete_topic_report.rb +24 -0
  63. data/lib/rdkafka/admin/describe_acl_handle.rb +30 -0
  64. data/lib/rdkafka/admin/describe_acl_report.rb +24 -0
  65. data/lib/rdkafka/admin/describe_configs_handle.rb +33 -0
  66. data/lib/rdkafka/admin/describe_configs_report.rb +48 -0
  67. data/lib/rdkafka/admin/incremental_alter_configs_handle.rb +33 -0
  68. data/lib/rdkafka/admin/incremental_alter_configs_report.rb +48 -0
  69. data/lib/rdkafka/admin.rb +832 -0
  70. data/lib/rdkafka/bindings.rb +583 -0
  71. data/lib/rdkafka/callbacks.rb +415 -0
  72. data/lib/rdkafka/config.rb +395 -0
  73. data/lib/rdkafka/consumer/headers.rb +79 -0
  74. data/lib/rdkafka/consumer/message.rb +86 -0
  75. data/lib/rdkafka/consumer/partition.rb +57 -0
  76. data/lib/rdkafka/consumer/topic_partition_list.rb +190 -0
  77. data/lib/rdkafka/consumer.rb +663 -0
  78. data/lib/rdkafka/error.rb +201 -0
  79. data/lib/rdkafka/helpers/oauth.rb +58 -0
  80. data/lib/rdkafka/helpers/time.rb +14 -0
  81. data/lib/rdkafka/metadata.rb +115 -0
  82. data/lib/rdkafka/native_kafka.rb +139 -0
  83. data/lib/rdkafka/producer/delivery_handle.rb +48 -0
  84. data/lib/rdkafka/producer/delivery_report.rb +45 -0
  85. data/lib/rdkafka/producer/partitions_count_cache.rb +216 -0
  86. data/lib/rdkafka/producer.rb +497 -0
  87. data/lib/rdkafka/version.rb +7 -0
  88. data/lib/rdkafka.rb +54 -0
  89. data/renovate.json +92 -0
  90. data/spec/integrations/ssl_stress_spec.rb +121 -0
  91. data/spec/lib/rdkafka/abstract_handle_spec.rb +117 -0
  92. data/spec/lib/rdkafka/admin/create_acl_handle_spec.rb +56 -0
  93. data/spec/lib/rdkafka/admin/create_acl_report_spec.rb +18 -0
  94. data/spec/lib/rdkafka/admin/create_topic_handle_spec.rb +54 -0
  95. data/spec/lib/rdkafka/admin/create_topic_report_spec.rb +16 -0
  96. data/spec/lib/rdkafka/admin/delete_acl_handle_spec.rb +85 -0
  97. data/spec/lib/rdkafka/admin/delete_acl_report_spec.rb +72 -0
  98. data/spec/lib/rdkafka/admin/delete_topic_handle_spec.rb +54 -0
  99. data/spec/lib/rdkafka/admin/delete_topic_report_spec.rb +16 -0
  100. data/spec/lib/rdkafka/admin/describe_acl_handle_spec.rb +85 -0
  101. data/spec/lib/rdkafka/admin/describe_acl_report_spec.rb +73 -0
  102. data/spec/lib/rdkafka/admin_spec.rb +982 -0
  103. data/spec/lib/rdkafka/bindings_spec.rb +198 -0
  104. data/spec/lib/rdkafka/callbacks_spec.rb +20 -0
  105. data/spec/lib/rdkafka/config_spec.rb +258 -0
  106. data/spec/lib/rdkafka/consumer/headers_spec.rb +73 -0
  107. data/spec/lib/rdkafka/consumer/message_spec.rb +139 -0
  108. data/spec/lib/rdkafka/consumer/partition_spec.rb +57 -0
  109. data/spec/lib/rdkafka/consumer/topic_partition_list_spec.rb +248 -0
  110. data/spec/lib/rdkafka/consumer_spec.rb +1343 -0
  111. data/spec/lib/rdkafka/error_spec.rb +95 -0
  112. data/spec/lib/rdkafka/metadata_spec.rb +79 -0
  113. data/spec/lib/rdkafka/native_kafka_spec.rb +130 -0
  114. data/spec/lib/rdkafka/producer/delivery_handle_spec.rb +60 -0
  115. data/spec/lib/rdkafka/producer/delivery_report_spec.rb +25 -0
  116. data/spec/lib/rdkafka/producer/partitions_count_cache_spec.rb +359 -0
  117. data/spec/lib/rdkafka/producer_spec.rb +1527 -0
  118. data/spec/spec_helper.rb +230 -0
  119. metadata +320 -0
@@ -0,0 +1,230 @@
1
+ # frozen_string_literal: true
2
+
3
+ Warning[:performance] = true if RUBY_VERSION >= '3.3'
4
+ Warning[:deprecated] = true
5
+ $VERBOSE = true
6
+
7
+ require 'warning'
8
+
9
+ Warning.process do |warning|
10
+ next unless warning.include?(Dir.pwd)
11
+ # Allow OpenStruct usage only in specs
12
+ next if warning.include?('OpenStruct use') && warning.include?('_spec')
13
+
14
+ raise "Warning in your code: #{warning}"
15
+ end
16
+
17
+ unless ENV["CI"] == "true"
18
+ require "simplecov"
19
+ SimpleCov.start do
20
+ add_filter "/spec/"
21
+ end
22
+ end
23
+
24
+ require "pry"
25
+ require "rspec"
26
+ require "rdkafka"
27
+ require "timeout"
28
+ require "securerandom"
29
+
30
+ def rdkafka_base_config
31
+ if ENV['KAFKA_SSL_ENABLED'] == 'true'
32
+ {
33
+ :"bootstrap.servers" => "localhost:9093",
34
+ # Display statistics and refresh often just to cover those in specs
35
+ :'statistics.interval.ms' => 1_000,
36
+ :'topic.metadata.refresh.interval.ms' => 1_000,
37
+ # SSL Configuration
38
+ :'security.protocol' => 'SSL',
39
+ :'ssl.ca.location' => './ssl/ca-cert',
40
+ :'ssl.endpoint.identification.algorithm' => 'none'
41
+ }
42
+ else
43
+ {
44
+ :"bootstrap.servers" => "localhost:9092",
45
+ # Display statistics and refresh often just to cover those in specs
46
+ :'statistics.interval.ms' => 1_000,
47
+ :'topic.metadata.refresh.interval.ms' => 1_000
48
+ }
49
+ end
50
+ end
51
+
52
+ def rdkafka_config(config_overrides={})
53
+ # Generate the base config
54
+ config = rdkafka_base_config
55
+ # Merge overrides
56
+ config.merge!(config_overrides)
57
+ # Return it
58
+ Rdkafka::Config.new(config)
59
+ end
60
+
61
+ def rdkafka_consumer_config(config_overrides={})
62
+ # Generate the base config
63
+ config = rdkafka_base_config
64
+ # Add consumer specific fields to it
65
+ config[:"auto.offset.reset"] = "earliest"
66
+ config[:"enable.partition.eof"] = false
67
+ config[:"group.id"] = "ruby-test-#{SecureRandom.uuid}"
68
+ # Enable debug mode if required
69
+ if ENV["DEBUG_CONSUMER"]
70
+ config[:debug] = "cgrp,topic,fetch"
71
+ end
72
+ # Merge overrides
73
+ config.merge!(config_overrides)
74
+ # Return it
75
+ Rdkafka::Config.new(config)
76
+ end
77
+
78
+ def rdkafka_producer_config(config_overrides={})
79
+ # Generate the base config
80
+ config = rdkafka_base_config
81
+ # Enable debug mode if required
82
+ if ENV["DEBUG_PRODUCER"]
83
+ config[:debug] = "broker,topic,msg"
84
+ end
85
+ # Merge overrides
86
+ config.merge!(config_overrides)
87
+ # Return it
88
+ Rdkafka::Config.new(config)
89
+ end
90
+
91
+ def new_native_client
92
+ config = rdkafka_consumer_config
93
+ config.send(:native_kafka, config.send(:native_config), :rd_kafka_producer)
94
+ end
95
+
96
+ def new_native_topic(topic_name="topic_name", native_client: )
97
+ Rdkafka::Bindings.rd_kafka_topic_new(
98
+ native_client,
99
+ topic_name,
100
+ nil
101
+ )
102
+ end
103
+
104
+ def wait_for_message(topic:, delivery_report:, timeout_in_seconds: 30, consumer: nil)
105
+ new_consumer = consumer.nil?
106
+ consumer ||= rdkafka_consumer_config('allow.auto.create.topics': true).consumer
107
+ consumer.subscribe(topic)
108
+ timeout = Time.now.to_i + timeout_in_seconds
109
+ retry_count = 0
110
+ max_retries = 10
111
+
112
+ loop do
113
+ if timeout <= Time.now.to_i
114
+ raise "Timeout of #{timeout_in_seconds} seconds reached in wait_for_message"
115
+ end
116
+
117
+ begin
118
+ message = consumer.poll(100)
119
+ if message &&
120
+ message.partition == delivery_report.partition &&
121
+ message.offset == delivery_report.offset
122
+ return message
123
+ end
124
+ rescue Rdkafka::RdkafkaError => e
125
+ if e.code == :unknown_topic_or_part && retry_count < max_retries
126
+ retry_count += 1
127
+ sleep(0.1) # Small delay before retry
128
+ next
129
+ else
130
+ raise
131
+ end
132
+ end
133
+ end
134
+ ensure
135
+ consumer.close if new_consumer
136
+ end
137
+
138
+ def wait_for_assignment(consumer)
139
+ 10.times do
140
+ break if !consumer.assignment.empty?
141
+ sleep 1
142
+ end
143
+ end
144
+
145
+ def wait_for_unassignment(consumer)
146
+ 10.times do
147
+ break if consumer.assignment.empty?
148
+ sleep 1
149
+ end
150
+ end
151
+
152
+ def wait_for_topic(admin, topic)
153
+ admin.metadata(topic)
154
+ rescue Rdkafka::RdkafkaError => e
155
+ raise unless e.code == :unknown_topic_or_part
156
+
157
+ sleep(0.5)
158
+
159
+ retry
160
+ end
161
+
162
+ def notify_listener(listener, &block)
163
+ # 1. subscribe and poll
164
+ consumer.subscribe("consume_test_topic")
165
+ wait_for_assignment(consumer)
166
+ consumer.poll(100)
167
+
168
+ block.call if block
169
+
170
+ # 2. unsubscribe
171
+ consumer.unsubscribe
172
+ wait_for_unassignment(consumer)
173
+ consumer.close
174
+ end
175
+
176
+ RSpec.configure do |config|
177
+ config.filter_run focus: true
178
+ config.run_all_when_everything_filtered = true
179
+
180
+ config.before(:each) do
181
+ Rdkafka::Config.statistics_callback = nil
182
+ # We need to clear it so state does not leak between specs
183
+ Rdkafka::Producer.partitions_count_cache.to_h.clear
184
+ end
185
+
186
+ config.before(:suite) do
187
+ admin = rdkafka_config.admin
188
+ {
189
+ consume_test_topic: 3,
190
+ empty_test_topic: 3,
191
+ load_test_topic: 3,
192
+ produce_test_topic: 3,
193
+ rake_test_topic: 3,
194
+ watermarks_test_topic: 3,
195
+ partitioner_test_topic: 25,
196
+ example_topic: 1
197
+ }.each do |topic, partitions|
198
+ create_topic_handle = admin.create_topic(topic.to_s, partitions, 1)
199
+ begin
200
+ create_topic_handle.wait(max_wait_timeout: 1.0)
201
+ rescue Rdkafka::RdkafkaError => ex
202
+ raise unless ex.message.match?(/topic_already_exists/)
203
+ end
204
+ end
205
+ admin.close
206
+ end
207
+
208
+ config.around(:each) do |example|
209
+ # Timeout specs after 1.5 minute. If they take longer
210
+ # they are probably stuck
211
+ Timeout::timeout(90) do
212
+ example.run
213
+ end
214
+ end
215
+ end
216
+
217
+ class RdKafkaTestConsumer
218
+ def self.with
219
+ consumer = Rdkafka::Bindings.rd_kafka_new(
220
+ :rd_kafka_consumer,
221
+ nil,
222
+ nil,
223
+ 0
224
+ )
225
+ yield consumer
226
+ ensure
227
+ Rdkafka::Bindings.rd_kafka_consumer_close(consumer)
228
+ Rdkafka::Bindings.rd_kafka_destroy(consumer)
229
+ end
230
+ end
metadata ADDED
@@ -0,0 +1,320 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: karafka-rdkafka
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.21.0
5
+ platform: aarch64-linux-gnu
6
+ authors:
7
+ - Thijs Cadier
8
+ - Maciej Mensfeld
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ffi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: logger
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mini_portile2
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.6'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.6'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">"
74
+ - !ruby/object:Gem::Version
75
+ version: '12'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">"
81
+ - !ruby/object:Gem::Version
82
+ version: '12'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ostruct
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.5'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.5'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: warning
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: Modern Kafka client library for Ruby based on librdkafka
168
+ email:
169
+ - contact@karafka.io
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - ".github/CODEOWNERS"
175
+ - ".github/FUNDING.yml"
176
+ - ".github/workflows/ci_linux_alpine_x86_64_musl.yml"
177
+ - ".github/workflows/ci_linux_alpine_x86_64_musl_complementary.yml"
178
+ - ".github/workflows/ci_linux_debian_x86_64_gnu.yml"
179
+ - ".github/workflows/ci_linux_debian_x86_64_gnu_complementary.yml"
180
+ - ".github/workflows/ci_linux_ubuntu_aarch64_gnu.yml"
181
+ - ".github/workflows/ci_linux_ubuntu_aarch64_gnu_complementary.yml"
182
+ - ".github/workflows/ci_linux_ubuntu_x86_64_gnu.yml"
183
+ - ".github/workflows/ci_linux_ubuntu_x86_64_gnu_complementary.yml"
184
+ - ".github/workflows/ci_macos_arm64.yml"
185
+ - ".github/workflows/push_linux_aarch64_gnu.yml"
186
+ - ".github/workflows/push_linux_x86_64_gnu.yml"
187
+ - ".github/workflows/push_linux_x86_64_musl.yml"
188
+ - ".github/workflows/push_macos_arm64.yml"
189
+ - ".github/workflows/push_ruby.yml"
190
+ - ".github/workflows/trigger-wiki-refresh.yml"
191
+ - ".github/workflows/verify-action-pins.yml"
192
+ - ".gitignore"
193
+ - ".rspec"
194
+ - ".ruby-gemset"
195
+ - ".ruby-version"
196
+ - ".yardopts"
197
+ - CHANGELOG.md
198
+ - Gemfile
199
+ - MIT-LICENSE
200
+ - README.md
201
+ - Rakefile
202
+ - dist/cyrus-sasl-2.1.28.tar.gz
203
+ - dist/krb5-1.21.3.tar.gz
204
+ - dist/openssl-3.0.16.tar.gz
205
+ - dist/zlib-1.3.1.tar.gz
206
+ - dist/zstd-1.5.7.tar.gz
207
+ - docker-compose-ssl.yml
208
+ - docker-compose.yml
209
+ - ext/README.md
210
+ - ext/Rakefile
211
+ - ext/build_common.sh
212
+ - ext/build_linux_aarch64_gnu.sh
213
+ - ext/build_linux_x86_64_gnu.sh
214
+ - ext/build_linux_x86_64_musl.sh
215
+ - ext/build_macos_arm64.sh
216
+ - ext/generate-ssl-certs.sh
217
+ - ext/librdkafka.so
218
+ - karafka-rdkafka.gemspec
219
+ - lib/rdkafka.rb
220
+ - lib/rdkafka/abstract_handle.rb
221
+ - lib/rdkafka/admin.rb
222
+ - lib/rdkafka/admin/acl_binding_result.rb
223
+ - lib/rdkafka/admin/config_binding_result.rb
224
+ - lib/rdkafka/admin/config_resource_binding_result.rb
225
+ - lib/rdkafka/admin/create_acl_handle.rb
226
+ - lib/rdkafka/admin/create_acl_report.rb
227
+ - lib/rdkafka/admin/create_partitions_handle.rb
228
+ - lib/rdkafka/admin/create_partitions_report.rb
229
+ - lib/rdkafka/admin/create_topic_handle.rb
230
+ - lib/rdkafka/admin/create_topic_report.rb
231
+ - lib/rdkafka/admin/delete_acl_handle.rb
232
+ - lib/rdkafka/admin/delete_acl_report.rb
233
+ - lib/rdkafka/admin/delete_groups_handle.rb
234
+ - lib/rdkafka/admin/delete_groups_report.rb
235
+ - lib/rdkafka/admin/delete_topic_handle.rb
236
+ - lib/rdkafka/admin/delete_topic_report.rb
237
+ - lib/rdkafka/admin/describe_acl_handle.rb
238
+ - lib/rdkafka/admin/describe_acl_report.rb
239
+ - lib/rdkafka/admin/describe_configs_handle.rb
240
+ - lib/rdkafka/admin/describe_configs_report.rb
241
+ - lib/rdkafka/admin/incremental_alter_configs_handle.rb
242
+ - lib/rdkafka/admin/incremental_alter_configs_report.rb
243
+ - lib/rdkafka/bindings.rb
244
+ - lib/rdkafka/callbacks.rb
245
+ - lib/rdkafka/config.rb
246
+ - lib/rdkafka/consumer.rb
247
+ - lib/rdkafka/consumer/headers.rb
248
+ - lib/rdkafka/consumer/message.rb
249
+ - lib/rdkafka/consumer/partition.rb
250
+ - lib/rdkafka/consumer/topic_partition_list.rb
251
+ - lib/rdkafka/error.rb
252
+ - lib/rdkafka/helpers/oauth.rb
253
+ - lib/rdkafka/helpers/time.rb
254
+ - lib/rdkafka/metadata.rb
255
+ - lib/rdkafka/native_kafka.rb
256
+ - lib/rdkafka/producer.rb
257
+ - lib/rdkafka/producer/delivery_handle.rb
258
+ - lib/rdkafka/producer/delivery_report.rb
259
+ - lib/rdkafka/producer/partitions_count_cache.rb
260
+ - lib/rdkafka/version.rb
261
+ - renovate.json
262
+ - spec/integrations/ssl_stress_spec.rb
263
+ - spec/lib/rdkafka/abstract_handle_spec.rb
264
+ - spec/lib/rdkafka/admin/create_acl_handle_spec.rb
265
+ - spec/lib/rdkafka/admin/create_acl_report_spec.rb
266
+ - spec/lib/rdkafka/admin/create_topic_handle_spec.rb
267
+ - spec/lib/rdkafka/admin/create_topic_report_spec.rb
268
+ - spec/lib/rdkafka/admin/delete_acl_handle_spec.rb
269
+ - spec/lib/rdkafka/admin/delete_acl_report_spec.rb
270
+ - spec/lib/rdkafka/admin/delete_topic_handle_spec.rb
271
+ - spec/lib/rdkafka/admin/delete_topic_report_spec.rb
272
+ - spec/lib/rdkafka/admin/describe_acl_handle_spec.rb
273
+ - spec/lib/rdkafka/admin/describe_acl_report_spec.rb
274
+ - spec/lib/rdkafka/admin_spec.rb
275
+ - spec/lib/rdkafka/bindings_spec.rb
276
+ - spec/lib/rdkafka/callbacks_spec.rb
277
+ - spec/lib/rdkafka/config_spec.rb
278
+ - spec/lib/rdkafka/consumer/headers_spec.rb
279
+ - spec/lib/rdkafka/consumer/message_spec.rb
280
+ - spec/lib/rdkafka/consumer/partition_spec.rb
281
+ - spec/lib/rdkafka/consumer/topic_partition_list_spec.rb
282
+ - spec/lib/rdkafka/consumer_spec.rb
283
+ - spec/lib/rdkafka/error_spec.rb
284
+ - spec/lib/rdkafka/metadata_spec.rb
285
+ - spec/lib/rdkafka/native_kafka_spec.rb
286
+ - spec/lib/rdkafka/producer/delivery_handle_spec.rb
287
+ - spec/lib/rdkafka/producer/delivery_report_spec.rb
288
+ - spec/lib/rdkafka/producer/partitions_count_cache_spec.rb
289
+ - spec/lib/rdkafka/producer_spec.rb
290
+ - spec/spec_helper.rb
291
+ licenses:
292
+ - MIT
293
+ metadata:
294
+ funding_uri: https://karafka.io/#become-pro
295
+ homepage_uri: https://karafka.io
296
+ changelog_uri: https://karafka.io/docs/Changelog-Karafka-Rdkafka/
297
+ bug_tracker_uri: https://github.com/karafka/karafka-rdkafka/issues
298
+ source_code_uri: https://github.com/karafka/karafka-rdkafka
299
+ documentation_uri: https://karafka.io/docs
300
+ rubygems_mfa_required: 'true'
301
+ rdoc_options: []
302
+ require_paths:
303
+ - lib
304
+ required_ruby_version: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '3.1'
309
+ required_rubygems_version: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ requirements: []
315
+ rubygems_version: 3.6.9
316
+ specification_version: 4
317
+ summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
318
+ It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
319
+ and Ruby 2.7+.
320
+ test_files: []