message_bus 3.4.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb9967cb1c20e9a7c2f02ea36bfd54a3a13dac00ef44dcd0f27f7f878504ee2c
4
- data.tar.gz: 6ad58769e032468f20411b507aab0c7eaf72e09ab904641f1f635a5061c42c3c
3
+ metadata.gz: 65630299cab9aae5df5b4f3131043d42063575978d5a83e9267436bed2b7d729
4
+ data.tar.gz: 2bd69d120552b01ae82c73a775d065c23575ac623016d2bd2ac25a5ebd637d6f
5
5
  SHA512:
6
- metadata.gz: e6f3ab3af97533e26cf7fc91eb529dd5bd90f7e3b7a818b6c86636bbd4cbfb5b8f38479ee81ca1230da1ec5d6101d59a56273186f46c8d3b52807a467c40abdb
7
- data.tar.gz: ab4a57f673a4cb99c1a00225a041dfe69dfbc6f9c7213774a6e4f64e6250241d3c69148fc14cf900409e15f1574d0a6b41be43b9b3c5819f2313d25ab0713418
6
+ metadata.gz: 65a5d250126fc935053dfffef037baaf780678764ac95e4924603b901016f82b451a79a51f18fc699f2cfd8006cb805cd4887d206c12ca68ac68f059f1f13409
7
+ data.tar.gz: 2ebcc465985827a16866a948690a7bb4c03252050c8bfb1ee458809c6f0eda8c8fd581ba2f9bb1b496d3c7952456a11ad6ac51dd63e69c465238cffa17d7c2da
data/.eslintrc.js CHANGED
@@ -10,12 +10,5 @@ module.exports = {
10
10
  sourceType: 'module',
11
11
  },
12
12
  rules: {},
13
- ignorePatterns: [
14
- '/vendor',
15
- '/doc',
16
- '/assets/babel.min.js',
17
- '/assets/jquery-1.8.2.js',
18
- '/assets/react-dom.js',
19
- '/assets/react.js',
20
- ],
13
+ ignorePatterns: ['/vendor', '/doc', '/assets/jquery-1.8.2.js'],
21
14
  };
data/CHANGELOG CHANGED
@@ -1,8 +1,16 @@
1
+ 11-01-2022
2
+
3
+ - Version 4.0.0
4
+
5
+ - DEV: Remove backend diagnostics
6
+ - DEV: Rename reliable_pub_sub to backend_instance
7
+ - FIX: `destroy` following `after_fork` could thread lock
8
+
1
9
  31-12-2021
2
10
 
3
11
  - Version 3.4.0
4
12
 
5
- - FEATURE: remove "suicide" feature from message_bus - (message_bus used to terminate process when keepalive exceeded)
13
+ - FEATURE: Remove process auto-termination on missed keepalives
6
14
 
7
15
  20-12-2021
8
16
 
data/README.md CHANGED
@@ -169,32 +169,6 @@ curl -H "Content-Type: application/x-www-form-urlencoded" -X POST --data "/messa
169
169
 
170
170
  You should see a reply with the messages of that channel you requested (in this case `/message`) starting at the message ID you requested (`0`). The URL parameter `dlp=t` disables long-polling: we do not want this request to stay open.
171
171
 
172
- ### Diagnostics
173
-
174
- MessageBus comes with a diagnostics interface, which you can access at `/message-bus/_diagnostics`. This interface allows you visibility into the runtime behaviour of message_bus.
175
-
176
- In order to use the diagnostics UI in your application, it is necessary to:
177
-
178
- * Enable it
179
- * Define a user ID for requests
180
- * Define a check for admin role
181
-
182
- as an example, you can do something like this:
183
-
184
- ```ruby
185
- MessageBus.enable_diagnostics # Must be called after `MessageBus.after_fork` if using a forking webserver
186
-
187
- MessageBus.user_id_lookup do |_env|
188
- 1
189
- end
190
-
191
- MessageBus.is_admin_lookup do |_env|
192
- true
193
- end
194
- ```
195
-
196
- Of course, in your real-world application, you would define these values according to your authentication/authorization logic.
197
-
198
172
  ### Transport
199
173
 
200
174
  MessageBus ships with 3 transport mechanisms.
@@ -416,17 +390,17 @@ The redis client message_bus uses is [redis-rb](https://github.com/redis/redis-r
416
390
 
417
391
  Out of the box Redis keeps track of 2000 messages in the global backlog and 1000 messages in a per-channel backlog. Per-channel backlogs get cleared automatically after 7 days of inactivity.
418
392
 
419
- This is configurable via accessors on the ReliablePubSub instance.
393
+ This is configurable via accessors on the Backend instance.
420
394
 
421
395
  ```ruby
422
396
  # only store 100 messages per channel
423
- MessageBus.reliable_pub_sub.max_backlog_size = 100
397
+ MessageBus.backend_instance.max_backlog_size = 100
424
398
 
425
399
  # only store 100 global messages
426
- MessageBus.reliable_pub_sub.max_global_backlog_size = 100
400
+ MessageBus.backend_instance.max_global_backlog_size = 100
427
401
 
428
402
  # flush per-channel backlog after 100 seconds of inactivity
429
- MessageBus.reliable_pub_sub.max_backlog_age = 100
403
+ MessageBus.backend_instance.max_backlog_age = 100
430
404
  ```
431
405
 
432
406
  ### PostgreSQL
@@ -750,7 +724,3 @@ While working on documentation, it is useful to automatically re-build it as you
750
724
  ### Benchmarks
751
725
 
752
726
  Some simple benchmarks are implemented in `spec/performance` and can be executed using `rake performance` (or `docker-compose run tests rake performance`). You should run these before and after your changes to avoid introducing performance regressions.
753
-
754
- ### Diagnostics Interface
755
-
756
- It is possible to manually test the diagnostics interface by executing `docker-compose up example` and then `open http://localhost:9292`.
data/docker-compose.yml CHANGED
@@ -36,7 +36,7 @@ services:
36
36
  example:
37
37
  build:
38
38
  context: .
39
- command: bash -c "cd examples/diagnostics && bundle install && bundle exec rackup --server puma --host 0.0.0.0"
39
+ command: bash -c "cd examples/chat && bundle install && bundle exec rackup --server puma --host 0.0.0.0"
40
40
  environment:
41
41
  BUNDLE_TO: /usr/local/bundle
42
42
  REDISURL: redis://redis:6379
@@ -45,6 +45,7 @@ module MessageBus
45
45
  @available = []
46
46
  @allocated = {}
47
47
  @subscribe_connection = nil
48
+ @subscribed = false
48
49
  @mutex = Mutex.new
49
50
  @pid = Process.pid
50
51
  end
@@ -59,6 +59,7 @@ module MessageBus
59
59
  @lock = Mutex.new
60
60
  @flush_backlog_thread = nil
61
61
  @pub_redis = nil
62
+ @subscribed = false
62
63
  # after 7 days inactive backlogs will be removed
63
64
  @max_backlog_age = 604800
64
65
  end
@@ -260,6 +261,7 @@ LUA
260
261
  new_redis.publish(redis_channel_name, UNSUB_MESSAGE)
261
262
  ensure
262
263
  new_redis&.disconnect!
264
+ @subscribed = false
263
265
  end
264
266
  end
265
267
 
@@ -302,6 +304,7 @@ LUA
302
304
 
303
305
  on.message do |_c, m|
304
306
  if m == UNSUB_MESSAGE
307
+ @subscribed = false
305
308
  global_redis.unsubscribe
306
309
  return
307
310
  end
@@ -41,7 +41,6 @@ class MessageBus::Rack::Middleware
41
41
  @started_listener = false
42
42
  @base_route = "#{@bus.base_route}message-bus/"
43
43
  @base_route_length = @base_route.length
44
- @diagnostics_route = "#{@base_route}_diagnostics"
45
44
  @broadcast_route = "#{@base_route}broadcast"
46
45
  start_listener unless @bus.off?
47
46
  end
@@ -79,11 +78,6 @@ class MessageBus::Rack::Middleware
79
78
  return [200, { "Content-Type" => "text/html" }, ["sent"]]
80
79
  end
81
80
 
82
- if env['PATH_INFO'].start_with? @diagnostics_route
83
- diags = MessageBus::Rack::Diagnostics.new(@app, message_bus: @bus)
84
- return diags.call(env)
85
- end
86
-
87
81
  client_id = env['PATH_INFO'][@base_route_length..-1].split("/")[0]
88
82
  return [404, {}, ["not found"]] unless client_id
89
83
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MessageBus
4
- VERSION = "3.4.0"
4
+ VERSION = "4.0.0"
5
5
  end
data/lib/message_bus.rb CHANGED
@@ -7,9 +7,7 @@ require_relative "message_bus/version"
7
7
  require_relative "message_bus/message"
8
8
  require_relative "message_bus/client"
9
9
  require_relative "message_bus/connection_manager"
10
- require_relative "message_bus/diagnostics"
11
10
  require_relative "message_bus/rack/middleware"
12
- require_relative "message_bus/rack/diagnostics"
13
11
  require_relative "message_bus/timer_thread"
14
12
  require_relative "message_bus/codec/base"
15
13
  require_relative "message_bus/backends"
@@ -47,21 +45,6 @@ module MessageBus::Implementation
47
45
  @subscriber_thread = nil
48
46
  end
49
47
 
50
- # @param [Boolean] val whether or not to cache static assets for the diagnostics pages
51
- # @return [void]
52
- def cache_assets=(val)
53
- configure(cache_assets: val)
54
- end
55
-
56
- # @return [Boolean] whether or not to cache static assets for the diagnostics pages
57
- def cache_assets
58
- if defined? @config[:cache_assets]
59
- @config[:cache_assets]
60
- else
61
- true
62
- end
63
- end
64
-
65
48
  # @param [Logger] logger a logger object to be used by the bus
66
49
  # @return [void]
67
50
  def logger=(logger)
@@ -297,15 +280,20 @@ module MessageBus::Implementation
297
280
  @config[:transport_codec] ||= MessageBus::Codec::Json.new
298
281
  end
299
282
 
300
- # @param [MessageBus::Backend::Base] pub_sub a configured backend
283
+ # @param [MessageBus::Backend::Base] backend_instance A configured backend
301
284
  # @return [void]
285
+ def backend_instance=(backend_instance)
286
+ configure(backend_instance: backend_instance)
287
+ end
288
+
302
289
  def reliable_pub_sub=(pub_sub)
303
- configure(reliable_pub_sub: pub_sub)
290
+ logger.warn "MessageBus.reliable_pub_sub= is deprecated, use MessageBus.backend_instance= instead."
291
+ self.backend_instance = pub_sub
304
292
  end
305
293
 
306
294
  # @return [MessageBus::Backend::Base] the configured backend. If not
307
295
  # explicitly set, will be loaded based on the configuration provided.
308
- def reliable_pub_sub
296
+ def backend_instance
309
297
  @mutex.synchronize do
310
298
  return nil if @destroyed
311
299
 
@@ -313,7 +301,7 @@ module MessageBus::Implementation
313
301
  # passed to backend.
314
302
  logger
315
303
 
316
- @config[:reliable_pub_sub] ||= begin
304
+ @config[:backend_instance] ||= begin
317
305
  @config[:backend_options] ||= {}
318
306
  require "message_bus/backends/#{backend}"
319
307
  MessageBus::BACKENDS[backend].new @config
@@ -321,17 +309,16 @@ module MessageBus::Implementation
321
309
  end
322
310
  end
323
311
 
312
+ def reliable_pub_sub
313
+ logger.warn "MessageBus.reliable_pub_sub is deprecated, use MessageBus.backend_instance instead."
314
+ backend_instance
315
+ end
316
+
324
317
  # @return [Symbol] the name of the backend implementation configured
325
318
  def backend
326
319
  @config[:backend] || :redis
327
320
  end
328
321
 
329
- # Enables diagnostics tracking
330
- # @return [void]
331
- def enable_diagnostics
332
- MessageBus::Diagnostics.enable(self)
333
- end
334
-
335
322
  # Publishes a message to a channel
336
323
  #
337
324
  # @param [String] channel the name of the channel to which the message should be published
@@ -398,7 +385,7 @@ module MessageBus::Implementation
398
385
  end
399
386
 
400
387
  encoded_channel_name = encode_channel_name(channel, site_id)
401
- reliable_pub_sub.publish(encoded_channel_name, encoded_data, channel_opts)
388
+ backend_instance.publish(encoded_channel_name, encoded_data, channel_opts)
402
389
  end
403
390
 
404
391
  # Subscribe to messages. Each message will be delivered by yielding to the
@@ -414,9 +401,9 @@ module MessageBus::Implementation
414
401
  # @return [void]
415
402
  def blocking_subscribe(channel = nil, &blk)
416
403
  if channel
417
- reliable_pub_sub.subscribe(encode_channel_name(channel), &blk)
404
+ backend_instance.subscribe(encode_channel_name(channel), &blk)
418
405
  else
419
- reliable_pub_sub.global_subscribe(&blk)
406
+ backend_instance.global_subscribe(&blk)
420
407
  end
421
408
  end
422
409
 
@@ -495,9 +482,9 @@ module MessageBus::Implementation
495
482
  def backlog(channel = nil, last_id = nil, site_id = nil)
496
483
  old =
497
484
  if channel
498
- reliable_pub_sub.backlog(encode_channel_name(channel, site_id), last_id)
485
+ backend_instance.backlog(encode_channel_name(channel, site_id), last_id)
499
486
  else
500
- reliable_pub_sub.global_backlog(last_id)
487
+ backend_instance.global_backlog(last_id)
501
488
  end
502
489
 
503
490
  old.each do |m|
@@ -513,7 +500,7 @@ module MessageBus::Implementation
513
500
  #
514
501
  # @return [Integer] the channel-specific ID of the last message published to the given channel
515
502
  def last_id(channel, site_id = nil)
516
- reliable_pub_sub.last_id(encode_channel_name(channel, site_id))
503
+ backend_instance.last_id(encode_channel_name(channel, site_id))
517
504
  end
518
505
 
519
506
  # Get the last message published on a channel
@@ -536,8 +523,8 @@ module MessageBus::Implementation
536
523
  def destroy
537
524
  return if @destroyed
538
525
 
539
- reliable_pub_sub.global_unsubscribe
540
- reliable_pub_sub.destroy
526
+ backend_instance.global_unsubscribe
527
+ backend_instance.destroy
541
528
 
542
529
  @mutex.synchronize do
543
530
  return if @destroyed
@@ -555,7 +542,7 @@ module MessageBus::Implementation
555
542
  # scheduled tasks.
556
543
  # @return [void]
557
544
  def after_fork
558
- reliable_pub_sub.after_fork
545
+ backend_instance.after_fork
559
546
  ensure_subscriber_thread
560
547
  # will ensure timer is running
561
548
  timer.queue {}
@@ -564,12 +551,12 @@ module MessageBus::Implementation
564
551
  # @return [Boolean] whether or not the server is actively listening for
565
552
  # publications on the bus
566
553
  def listening?
567
- @subscriber_thread && @subscriber_thread.alive?
554
+ @subscriber_thread&.alive?
568
555
  end
569
556
 
570
557
  # (see MessageBus::Backend::Base#reset!)
571
558
  def reset!
572
- reliable_pub_sub.reset! if reliable_pub_sub
559
+ backend_instance.reset! if backend_instance
573
560
  end
574
561
 
575
562
  # @return [MessageBus::TimerThread] the timer thread used for triggering
@@ -697,12 +684,6 @@ module MessageBus::Implementation
697
684
  @subscriptions[site_id][channel] << blk
698
685
  ensure_subscriber_thread
699
686
 
700
- attempts = 100
701
- while attempts > 0 && !reliable_pub_sub.subscribed
702
- sleep 0.001
703
- attempts -= 1
704
- end
705
-
706
687
  raise MessageBus::BusDestroyed if @destroyed
707
688
 
708
689
  blk
@@ -720,10 +701,17 @@ module MessageBus::Implementation
720
701
 
721
702
  def ensure_subscriber_thread
722
703
  @mutex.synchronize do
723
- return if (@subscriber_thread && @subscriber_thread.alive?) || @destroyed
704
+ return if @destroyed
705
+ next if @subscriber_thread&.alive?
724
706
 
725
707
  @subscriber_thread = new_subscriber_thread
726
708
  end
709
+
710
+ attempts = 100
711
+ while attempts > 0 && !backend_instance.subscribed
712
+ sleep 0.001
713
+ attempts -= 1
714
+ end
727
715
  end
728
716
 
729
717
  MIN_KEEPALIVE = 20
@@ -760,7 +748,7 @@ module MessageBus::Implementation
760
748
  def global_subscribe_thread
761
749
  # pretend we just got a message
762
750
  @last_message = Time.now
763
- reliable_pub_sub.global_subscribe do |msg|
751
+ backend_instance.global_subscribe do |msg|
764
752
  begin
765
753
  @last_message = Time.now
766
754
  decode_message!(msg)
@@ -3,9 +3,9 @@
3
3
  require_relative '../../spec_helper'
4
4
  require 'message_bus'
5
5
 
6
- describe PUB_SUB_CLASS do
6
+ describe BACKEND_CLASS do
7
7
  before do
8
- @bus = PUB_SUB_CLASS.new(test_config_for_backend(CURRENT_BACKEND))
8
+ @bus = BACKEND_CLASS.new(test_config_for_backend(CURRENT_BACKEND))
9
9
  end
10
10
 
11
11
  after do
@@ -30,7 +30,7 @@ describe PUB_SUB_CLASS do
30
30
  end
31
31
 
32
32
  it "should initialize with max_backlog_size" do
33
- PUB_SUB_CLASS.new({}, 2000).max_backlog_size.must_equal 2000
33
+ BACKEND_CLASS.new({}, 2000).max_backlog_size.must_equal 2000
34
34
  end
35
35
 
36
36
  it "should truncate channels correctly" do
@@ -3,7 +3,7 @@
3
3
  require_relative '../../spec_helper'
4
4
  require 'message_bus'
5
5
 
6
- describe PUB_SUB_CLASS do
6
+ describe BACKEND_CLASS do
7
7
  def self.error!
8
8
  @error = true
9
9
  end
@@ -13,7 +13,7 @@ describe PUB_SUB_CLASS do
13
13
  end
14
14
 
15
15
  def new_bus
16
- PUB_SUB_CLASS.new(test_config_for_backend(CURRENT_BACKEND).merge(db: 10))
16
+ BACKEND_CLASS.new(test_config_for_backend(CURRENT_BACKEND).merge(db: 10))
17
17
  end
18
18
 
19
19
  def work_it
@@ -142,54 +142,6 @@ describe MessageBus::Rack::Middleware do
142
142
  end
143
143
  end
144
144
 
145
- describe "diagnostics" do
146
- it "should return a 403 if an unauthorized user attempts to get at the _diagnostics path" do
147
- get "/message-bus/_diagnostics"
148
- last_response.status.must_equal 403
149
- end
150
-
151
- it "should get a 200 with html for an authorized user" do
152
- def @bus.is_admin_lookup
153
- proc { |_| true }
154
- end
155
-
156
- get "/message-bus/_diagnostics"
157
- last_response.status.must_equal 200
158
- end
159
-
160
- describe "with an altered base_route" do
161
- let(:base_route) { "/base/route/" }
162
-
163
- it "should get a 200 with html for an authorized user" do
164
- def @bus.is_admin_lookup
165
- proc { |_| true }
166
- end
167
-
168
- get "/base/route/message-bus/_diagnostics"
169
- last_response.status.must_equal 200
170
- end
171
- end
172
-
173
- it "should get the script it asks for" do
174
- def @bus.is_admin_lookup
175
- proc { |_| true }
176
- end
177
-
178
- get "/message-bus/_diagnostics/assets/message-bus.js"
179
- last_response.status.must_equal 200
180
- last_response.content_type.must_equal "application/javascript;charset=UTF-8"
181
- end
182
-
183
- it "should return 404 for invalid assets path" do
184
- def @bus.is_admin_lookup
185
- proc { |_| true }
186
- end
187
-
188
- get "/message-bus/_diagnostics/assets/../Gemfile"
189
- last_response.status.must_equal 404
190
- end
191
- end
192
-
193
145
  describe "polling" do
194
146
  before do
195
147
  @bus.long_polling_enabled = false
@@ -37,6 +37,14 @@ describe MessageBus do
37
37
  @bus.after_fork
38
38
  end
39
39
 
40
+ it "destroying immediately after `after_fork` does not lock" do
41
+ 10.times do
42
+ @bus.on
43
+ @bus.after_fork
44
+ @bus.destroy
45
+ end
46
+ end
47
+
40
48
  describe "#base_route=" do
41
49
  it "adds leading and trailing slashes" do
42
50
  @bus.base_route = "my/base/route"
@@ -107,7 +115,7 @@ describe MessageBus do
107
115
  @bus.publish("/chuck", norris: true)
108
116
  @bus.publish("/chuck", norris: true)
109
117
 
110
- @bus.reliable_pub_sub.reset!
118
+ @bus.backend_instance.reset!
111
119
 
112
120
  @bus.publish("/chuck", yeager: true)
113
121
 
@@ -125,7 +133,7 @@ describe MessageBus do
125
133
  @bus.publish("/chuck", norris: true)
126
134
  @bus.publish("/chuck", norris: true)
127
135
 
128
- @bus.reliable_pub_sub.expire_all_backlogs!
136
+ @bus.backend_instance.expire_all_backlogs!
129
137
 
130
138
  @bus.publish("/chuck", yeager: true)
131
139
 
@@ -32,8 +32,8 @@ benchmark_subscription_no_trimming = lambda do |bm, backend|
32
32
  bus = MessageBus::Instance.new
33
33
  bus.configure(test_config_for_backend(backend))
34
34
 
35
- bus.reliable_pub_sub.max_backlog_size = iterations
36
- bus.reliable_pub_sub.max_global_backlog_size = iterations
35
+ bus.backend_instance.max_backlog_size = iterations
36
+ bus.backend_instance.max_global_backlog_size = iterations
37
37
 
38
38
  messages_received = 0
39
39
  bus.after_fork
@@ -58,8 +58,8 @@ benchmark_subscription_with_trimming = lambda do |bm, backend|
58
58
  bus = MessageBus::Instance.new
59
59
  bus.configure(test_config_for_backend(backend))
60
60
 
61
- bus.reliable_pub_sub.max_backlog_size = (iterations / 10)
62
- bus.reliable_pub_sub.max_global_backlog_size = (iterations / 10)
61
+ bus.backend_instance.max_backlog_size = (iterations / 10)
62
+ bus.backend_instance.max_global_backlog_size = (iterations / 10)
63
63
 
64
64
  messages_received = 0
65
65
  bus.after_fork
data/spec/spec_helper.rb CHANGED
@@ -14,7 +14,7 @@ require_relative "helpers"
14
14
  CURRENT_BACKEND = (ENV['MESSAGE_BUS_BACKEND'] || :redis).to_sym
15
15
 
16
16
  require "message_bus/backends/#{CURRENT_BACKEND}"
17
- PUB_SUB_CLASS = MessageBus::BACKENDS.fetch(CURRENT_BACKEND)
17
+ BACKEND_CLASS = MessageBus::BACKENDS.fetch(CURRENT_BACKEND)
18
18
 
19
19
  puts "Running with backend: #{CURRENT_BACKEND}"
20
20
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: message_bus
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-31 00:00:00.000000000 Z
11
+ date: 2022-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -282,13 +282,9 @@ files:
282
282
  - LICENSE
283
283
  - README.md
284
284
  - Rakefile
285
- - assets/application.jsx
286
- - assets/babel.min.js
287
285
  - assets/jquery-1.8.2.js
288
286
  - assets/message-bus-ajax.js
289
287
  - assets/message-bus.js
290
- - assets/react-dom.js
291
- - assets/react.js
292
288
  - bench/codecs/all_codecs.rb
293
289
  - bench/codecs/marshal.rb
294
290
  - bench/codecs/packed_string.rb
@@ -306,8 +302,6 @@ files:
306
302
  - examples/chat/config.ru
307
303
  - examples/chat/docker_container/chat.yml
308
304
  - examples/chat/docker_container/update_chat
309
- - examples/diagnostics/Gemfile
310
- - examples/diagnostics/config.ru
311
305
  - examples/minimal/Gemfile
312
306
  - examples/minimal/config.ru
313
307
  - lib/message_bus.rb
@@ -321,13 +315,11 @@ files:
321
315
  - lib/message_bus/codec/json.rb
322
316
  - lib/message_bus/codec/oj.rb
323
317
  - lib/message_bus/connection_manager.rb
324
- - lib/message_bus/diagnostics.rb
325
318
  - lib/message_bus/distributed_cache.rb
326
319
  - lib/message_bus/http_client.rb
327
320
  - lib/message_bus/http_client/channel.rb
328
321
  - lib/message_bus/http_client/version.rb
329
322
  - lib/message_bus/message.rb
330
- - lib/message_bus/rack/diagnostics.rb
331
323
  - lib/message_bus/rack/middleware.rb
332
324
  - lib/message_bus/rack/thin_ext.rb
333
325
  - lib/message_bus/rails/railtie.rb
@@ -362,7 +354,7 @@ homepage: https://github.com/discourse/message_bus
362
354
  licenses:
363
355
  - MIT
364
356
  metadata: {}
365
- post_install_message:
357
+ post_install_message:
366
358
  rdoc_options: []
367
359
  require_paths:
368
360
  - lib
@@ -377,8 +369,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
377
369
  - !ruby/object:Gem::Version
378
370
  version: '0'
379
371
  requirements: []
380
- rubygems_version: 3.3.3
381
- signing_key:
372
+ rubygems_version: 3.1.6
373
+ signing_key:
382
374
  specification_version: 4
383
375
  summary: ''
384
376
  test_files: