solid_cable 3.0.10 → 3.0.11
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.
- checksums.yaml +4 -4
- data/lib/action_cable/subscription_adapter/solid_cable.rb +11 -6
- data/lib/solid_cable/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fccedecff40c474f2882095d7d8dd3f79ed000fe852ec83a227a0c4ae53f8130
|
4
|
+
data.tar.gz: de880460edfb1524f09c8425079a2256ea3d420c5b5cdf9cf6f820cb3c012933
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c35d6b76724809ce6b93bb206d95743409484f9726a9697ae5406521c4952d590661352c3f2292d2945dc0b7953e1a3ab1dd251517550e6b51089c7059fc144d
|
7
|
+
data.tar.gz: 32efff41d4eee4d79f34e20fe89475ea8131f2ceaf7da8da92e071eb00ebb0c7ae5388e73357112948ae6771ffede8cd7678a3fe1aca8250570e193d1213cf63
|
@@ -109,17 +109,22 @@ module ActionCable
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def channels
|
112
|
-
@channels ||= Concurrent::
|
112
|
+
@channels ||= Concurrent::Map.new
|
113
113
|
end
|
114
114
|
|
115
115
|
def broadcast_messages
|
116
|
-
|
116
|
+
current_channels = channels.dup
|
117
|
+
|
118
|
+
::SolidCable::Message.
|
119
|
+
broadcastable(current_channels.keys, current_channels.values.min).
|
117
120
|
each do |message|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
+
channels.compute_if_present(message.channel) do |last_id|
|
122
|
+
break if last_id >= message.id
|
123
|
+
|
124
|
+
broadcast(message.channel, message.payload)
|
125
|
+
message.id
|
126
|
+
end
|
121
127
|
end
|
122
|
-
end
|
123
128
|
end
|
124
129
|
|
125
130
|
def with_polling_volume
|
data/lib/solid_cable/version.rb
CHANGED