nl-linux 0.3.0 → 0.4.1

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +5 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Rakefile +14 -2
  5. data/generated/nl/linux/binder.rb +172 -44
  6. data/generated/nl/linux/conntrack.rb +1293 -370
  7. data/generated/nl/linux/dev_energymodel.rb +278 -93
  8. data/generated/nl/linux/devlink.rb +5654 -1954
  9. data/generated/nl/linux/dpll.rb +1838 -669
  10. data/generated/nl/linux/drm_ras.rb +234 -72
  11. data/generated/nl/linux/ethtool.rb +6683 -2885
  12. data/generated/nl/linux/fou.rb +308 -129
  13. data/generated/nl/linux/handshake.rb +277 -99
  14. data/generated/nl/linux/lockd.rb +88 -33
  15. data/generated/nl/linux/mptcp_pm.rb +639 -186
  16. data/generated/nl/linux/net_shaper.rb +782 -224
  17. data/generated/nl/linux/netdev.rb +2105 -631
  18. data/generated/nl/linux/nfsd.rb +1030 -358
  19. data/generated/nl/linux/nftables.rb +5041 -1612
  20. data/generated/nl/linux/nl80211.rb +4531 -871
  21. data/generated/nl/linux/nlctrl.rb +411 -119
  22. data/generated/nl/linux/ovpn.rb +1211 -293
  23. data/generated/nl/linux/ovs_datapath.rb +271 -106
  24. data/generated/nl/linux/ovs_flow.rb +1819 -354
  25. data/generated/nl/linux/ovs_packet.rb +257 -82
  26. data/generated/nl/linux/ovs_vport.rb +334 -132
  27. data/generated/nl/linux/psp.rb +916 -281
  28. data/generated/nl/linux/rt_addr.rb +369 -166
  29. data/generated/nl/linux/rt_link.rb +6708 -1450
  30. data/generated/nl/linux/rt_neigh.rb +919 -364
  31. data/generated/nl/linux/rt_route.rb +1034 -448
  32. data/generated/nl/linux/rt_rule.rb +775 -395
  33. data/generated/nl/linux/sunrpc_cache.rb +297 -102
  34. data/generated/nl/linux/tc.rb +9989 -1780
  35. data/generated/nl/linux/tcp_metrics.rb +327 -105
  36. data/generated/nl/linux/team.rb +279 -93
  37. data/generated/nl/linux/wireguard.rb +432 -95
  38. data/generated/nl/linux.rb +1 -0
  39. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  40. data/lib/nl/linux/version.rb +1 -1
  41. data/sig/generated/nl/linux/binder.rbs +366 -0
  42. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  43. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  44. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  45. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  46. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  47. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  48. data/sig/generated/nl/linux/fou.rbs +702 -0
  49. data/sig/generated/nl/linux/handshake.rbs +622 -0
  50. data/sig/generated/nl/linux/lockd.rbs +234 -0
  51. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  52. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  53. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  54. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  55. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  56. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  57. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  58. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  59. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  60. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  61. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  62. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  63. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  64. data/sig/generated/nl/linux/psp.rbs +1846 -0
  65. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  66. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  67. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  68. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  69. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  70. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  71. data/sig/generated/nl/linux/tc.rbs +19931 -0
  72. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  73. data/sig/generated/nl/linux/team.rbs +733 -0
  74. data/sig/generated/nl/linux/version.rbs +7 -0
  75. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  76. data/sig/generated/nl/linux.rbs +6 -0
  77. data/sig/generated/nl-linux.rbs +2 -0
  78. metadata +46 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bed490a59c8ebdc1b573ff996f21f9ae4acaa976c62de168cd7de56f9f511988
4
- data.tar.gz: 8b03bb15adf2e682ec3735fcd2d8a6f23a9c4bb45d4203bb2d66410db2cdd11d
3
+ metadata.gz: e70391884268288b55d3d2edfc5c1d6098d9e024f5f3fed11c5bffa3cc5e126d
4
+ data.tar.gz: 1cea0a6656c54771123617dc4cb9bcd9a9d977008cabe156257642b3c39e2bb7
5
5
  SHA512:
6
- metadata.gz: a60acb7de13c1b9bc3e56a0f3da1433e7747a9071e67df099dd7375d5a0d030bb8b5099ea250f2e7e9263039828a28fc42270ec867b1c3df0d18969e57ac81bd
7
- data.tar.gz: bf8ed664a1561663de0321703e9a89251ef794f360415d17762f5cb9d1357b48e757f23be782038b0922389e16b8bd69453c795c2ef2c786ee6d10b7ca4b214e
6
+ metadata.gz: dcdce1ce44505fa4b856e3d50f573f1fb2314b856b36c42bc3e777b86af125aa3981dcc93860480c0cdaf909ecea9c9b2d3ff6c4422c4d27d1e77ce2440b3857
7
+ data.tar.gz: 7d3d92cb1104e2eb8d1e35521d62030e60d1f521498400fb55d518b1d8cc6b3c7485ee2a2e2e0fdd702ef3fd9dca5fe9d1202e3b6ae88feccdbfbbf43b3b4407
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --tag rbs:RBS
2
+ --hide-tag rbs
3
+ --no-private
4
+ lib/**/*.rb
5
+ generated/**/*.rb
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v0.4.1 (2026-09-08)
6
+
7
+ ## v0.4.0 (2026-09-08)
8
+
9
+ - Generate sub-messages.
10
+
5
11
  ## v0.3.0 (2026-09-01)
6
12
 
7
13
  ## v0.2.4 (2026-08-22)
data/Rakefile CHANGED
@@ -40,14 +40,18 @@ specs.each do |spec, h|
40
40
  out << "#--\n"
41
41
  out << Ynl::Generator::PRELUDE
42
42
  out << "module Nl; module Linux\n"
43
- Ynl::Family.generate(src.tap(&:rewind), out)
43
+ Ynl::Family.generate(
44
+ src.tap(&:rewind),
45
+ out,
46
+ default_resolver: '::Nl::Linux::DEFAULT_RESOLVER',
47
+ )
44
48
  out << "end; end\n"
45
49
  end
46
50
  end
47
51
  end
48
52
  end
49
53
 
50
- task 'generated/nl/linux.rb' => specs.values.map { it[:target] } do |t|
54
+ task 'generated/nl/linux.rb' => [*specs.values.map { it[:target] }, 'Rakefile'] do |t|
51
55
  File.open(t.name, 'w') do |out|
52
56
  out << "require 'nl/linux/version'\n"
53
57
  out << "module Nl\n"
@@ -60,8 +64,16 @@ task 'generated/nl/linux.rb' => specs.values.map { it[:target] } do |t|
60
64
  end
61
65
  out << " end\n"
62
66
  out << "end\n"
67
+ out << "require 'nl/linux/nlctrl_resolver'\n"
63
68
  end
64
69
  end
65
70
  task :generate => 'generated/nl/linux.rb'
66
71
 
72
+ desc 'Generate RBS signatures from inline annotations'
73
+ task :rbs => :generate do
74
+ sh '../bin/rbs-inline', '--output=sig/generated', '--opt-out', '--base=lib:generated', 'lib', 'generated'
75
+ end
76
+
77
+ task :build => :rbs
78
+
67
79
  task :default => :generate
@@ -8,14 +8,30 @@
8
8
  #
9
9
  #--
10
10
  # frozen_string_literal: true
11
- # rbs_inline: enabled
12
11
  # This code is generated by Ynl::Generator. DO NOT EDIT.
13
12
  require 'nl'
14
13
  module Nl; module Linux
15
14
  # Binder interface over generic netlink
16
- class Binder < ::Nl::Family
15
+ class Binder < ::Nl::Genl::Family
17
16
  NAME = "binder"
18
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("binder"))
17
+ VERSION = 1
18
+ # @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
19
+ # @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
20
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
21
+ # @param [#call] resolver
22
+ # @param [Symbol, nil] executor
23
+ # @param [Integer, nil] notification_capacity
24
+ # @return [Binder]
25
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
26
+ # @param [#call] resolver
27
+ # @param [Symbol, nil] executor
28
+ # @param [Integer, nil] notification_capacity
29
+ # @yieldparam [Binder] family
30
+ # @return [Object] the result of the block
31
+ def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
32
+ super
33
+ end
34
+ # @private
19
35
  MCAST_GROUPS = Ractor.make_shareable({:"report" => ::Nl::McastGroup.new("report", nil)}) #: Hash[::Symbol, ::Nl::McastGroup]
20
36
  module Structs
21
37
  end
@@ -23,74 +39,170 @@ class Binder < ::Nl::Family
23
39
  # Attributes included within a transaction failure report. The elements
24
40
  # correspond directly with the specific transaction that failed, along
25
41
  # with the error returned to the sender e.g. BR_DEAD_REPLY.
26
- class Report < ::Nl::Protocols::Genl::AttributeSet
42
+ class Report < ::Nl::AttributeSet
27
43
  # Abstract class
28
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
44
+ class Attribute < ::Nl::AttributeSet::Attribute
29
45
  end
46
+ # The enum binder_driver_return_protocol returned to the sender.
30
47
  class Error < Attribute
31
48
  TYPE = 1
32
49
  NAME = :"error"
33
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
50
+ # @private
51
+ ORDER = 0
52
+ # @private
53
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
34
54
  end
55
+ # The binder context where the transaction occurred.
35
56
  class Context < Attribute
36
57
  TYPE = 2
37
58
  NAME = :"context"
38
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
59
+ # @private
60
+ ORDER = 1
61
+ # @private
62
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
39
63
  end
64
+ # The PID of the sender process.
40
65
  class FromPid < Attribute
41
66
  TYPE = 3
42
67
  NAME = :"from_pid"
43
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
68
+ # @private
69
+ ORDER = 2
70
+ # @private
71
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
44
72
  end
73
+ # The TID of the sender thread.
45
74
  class FromTid < Attribute
46
75
  TYPE = 4
47
76
  NAME = :"from_tid"
48
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
77
+ # @private
78
+ ORDER = 3
79
+ # @private
80
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
49
81
  end
82
+ # The PID of the recipient process. This attribute may not be present
83
+ # if the target could not be determined.
50
84
  class ToPid < Attribute
51
85
  TYPE = 5
52
86
  NAME = :"to_pid"
53
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
87
+ # @private
88
+ ORDER = 4
89
+ # @private
90
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
54
91
  end
92
+ # The TID of the recipient thread. This attribute may not be present
93
+ # if the target could not be determined.
55
94
  class ToTid < Attribute
56
95
  TYPE = 6
57
96
  NAME = :"to_tid"
58
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
97
+ # @private
98
+ ORDER = 5
99
+ # @private
100
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
59
101
  end
102
+ # When present, indicates the failed transaction is a reply.
60
103
  class IsReply < Attribute
61
104
  TYPE = 7
62
105
  NAME = :"is_reply"
63
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
106
+ # @private
107
+ ORDER = 6
108
+ # @private
109
+ DATATYPE = ::Nl::DataTypes::Flag.new
64
110
  end
111
+ # The bitmask of enum transaction_flags from the transaction.
65
112
  class Flags < Attribute
66
113
  TYPE = 8
67
114
  NAME = :"flags"
68
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
115
+ # @private
116
+ ORDER = 7
117
+ # @private
118
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
69
119
  end
120
+ # The application-defined code from the transaction.
70
121
  class Code < Attribute
71
122
  TYPE = 9
72
123
  NAME = :"code"
73
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
124
+ # @private
125
+ ORDER = 8
126
+ # @private
127
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
74
128
  end
129
+ # The transaction payload size in bytes.
75
130
  class DataSize < Attribute
76
131
  TYPE = 10
77
132
  NAME = :"data_size"
78
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
133
+ # @private
134
+ ORDER = 9
135
+ # @private
136
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
79
137
  end
80
- # :nodoc:
138
+ # @private
81
139
  BY_NAME = Ractor.make_shareable({:"error" => Error, :"context" => Context, :"from_pid" => FromPid, :"from_tid" => FromTid, :"to_pid" => ToPid, :"to_tid" => ToTid, :"is_reply" => IsReply, :"flags" => Flags, :"code" => Code, :"data_size" => DataSize}) #: Hash[::Symbol, Attribute]
82
- # :nodoc:
140
+ # @private
83
141
  BY_TYPE = Ractor.make_shareable({1 => Error, 2 => Context, 3 => FromPid, 4 => FromTid, 5 => ToPid, 6 => ToTid, 7 => IsReply, 8 => Flags, 9 => Code, 10 => DataSize}) #: Hash[::Integer, Attribute]
142
+ # The enum binder_driver_return_protocol returned to the sender.
143
+ # @rbs return: ::Integer
144
+ # @return [Integer]
145
+ # @see Error
146
+ def error; self[:"error"]&.value; end
147
+ # The binder context where the transaction occurred.
148
+ # @rbs return: ::String
149
+ # @return [String]
150
+ # @see Context
151
+ def context; self[:"context"]&.value; end
152
+ # The PID of the sender process.
153
+ # @rbs return: ::Integer
154
+ # @return [Integer]
155
+ # @see FromPid
156
+ def from_pid; self[:"from_pid"]&.value; end
157
+ # The TID of the sender thread.
158
+ # @rbs return: ::Integer
159
+ # @return [Integer]
160
+ # @see FromTid
161
+ def from_tid; self[:"from_tid"]&.value; end
162
+ # The PID of the recipient process. This attribute may not be present
163
+ # if the target could not be determined.
164
+ # @rbs return: ::Integer
165
+ # @return [Integer]
166
+ # @see ToPid
167
+ def to_pid; self[:"to_pid"]&.value; end
168
+ # The TID of the recipient thread. This attribute may not be present
169
+ # if the target could not be determined.
170
+ # @rbs return: ::Integer
171
+ # @return [Integer]
172
+ # @see ToTid
173
+ def to_tid; self[:"to_tid"]&.value; end
174
+ # When present, indicates the failed transaction is a reply.
175
+ # @rbs return: ::Integer
176
+ # @return [Integer]
177
+ # @see IsReply
178
+ def is_reply; self[:"is_reply"]&.value; end
179
+ # The bitmask of enum transaction_flags from the transaction.
180
+ # @rbs return: ::Integer
181
+ # @return [Integer]
182
+ # @see Flags
183
+ def flags; self[:"flags"]&.value; end
184
+ # The application-defined code from the transaction.
185
+ # @rbs return: ::Integer
186
+ # @return [Integer]
187
+ # @see Code
188
+ def code; self[:"code"]&.value; end
189
+ # The transaction payload size in bytes.
190
+ # @rbs return: ::Integer
191
+ # @return [Integer]
192
+ # @see DataSize
193
+ def data_size; self[:"data_size"]&.value; end
84
194
  class << self
85
195
  # Looks up Attribute class by name.
86
- #--
87
196
  # @rbs name: Symbol
88
197
  # @rbs return: Attribute
198
+ # @param [Symbol] name
199
+ # @return [Attribute]
89
200
  def by_name(name); BY_NAME.fetch(name); end
90
201
  # Looks up Attribute class by type value.
91
- #--
92
202
  # @rbs type: Integer
93
203
  # @rbs return: Attribute
204
+ # @param [Integer] type
205
+ # @return [Attribute]
94
206
  def by_type(type); BY_TYPE.fetch(type); end
95
207
  end
96
208
  end
@@ -105,72 +217,88 @@ class Binder < ::Nl::Family
105
217
  #
106
218
  #
107
219
  # Multicast group: `report`.
108
- class Report < ::Nl::Protocols::Genl::Message
220
+ class Report < ::Nl::Genl::Message
109
221
  TYPE = 1
110
222
  FIXED_HEADER = nil
111
223
  ATTRIBUTE_SET = AttributeSets::Report
112
224
  ATTRIBUTES = Ractor.make_shareable(%i[error context from_pid from_tid to_pid to_tid is_reply flags code data_size])
113
- # Gets the value of `error` attribute in the message.
114
- #--
225
+ # The enum binder_driver_return_protocol returned to the sender.
115
226
  # @rbs return: ::Integer
227
+ # @return [Integer]
228
+ # @see AttributeSets::Report::Error
116
229
  def error; attributes[:"error"]&.value; end
117
- # Gets the value of `context` attribute in the message.
118
- #--
230
+ # The binder context where the transaction occurred.
119
231
  # @rbs return: ::String
232
+ # @return [String]
233
+ # @see AttributeSets::Report::Context
120
234
  def context; attributes[:"context"]&.value; end
121
- # Gets the value of `from-pid` attribute in the message.
122
- #--
235
+ # The PID of the sender process.
123
236
  # @rbs return: ::Integer
237
+ # @return [Integer]
238
+ # @see AttributeSets::Report::FromPid
124
239
  def from_pid; attributes[:"from_pid"]&.value; end
125
- # Gets the value of `from-tid` attribute in the message.
126
- #--
240
+ # The TID of the sender thread.
127
241
  # @rbs return: ::Integer
242
+ # @return [Integer]
243
+ # @see AttributeSets::Report::FromTid
128
244
  def from_tid; attributes[:"from_tid"]&.value; end
129
- # Gets the value of `to-pid` attribute in the message.
130
- #--
245
+ # The PID of the recipient process. This attribute may not be present
246
+ # if the target could not be determined.
131
247
  # @rbs return: ::Integer
248
+ # @return [Integer]
249
+ # @see AttributeSets::Report::ToPid
132
250
  def to_pid; attributes[:"to_pid"]&.value; end
133
- # Gets the value of `to-tid` attribute in the message.
134
- #--
251
+ # The TID of the recipient thread. This attribute may not be present
252
+ # if the target could not be determined.
135
253
  # @rbs return: ::Integer
254
+ # @return [Integer]
255
+ # @see AttributeSets::Report::ToTid
136
256
  def to_tid; attributes[:"to_tid"]&.value; end
137
- # Gets the value of `is-reply` attribute in the message.
138
- #--
257
+ # When present, indicates the failed transaction is a reply.
139
258
  # @rbs return: ::Integer
259
+ # @return [Integer]
260
+ # @see AttributeSets::Report::IsReply
140
261
  def is_reply; attributes[:"is_reply"]&.value; end
141
- # Gets the value of `flags` attribute in the message.
142
- #--
262
+ # The bitmask of enum transaction_flags from the transaction.
143
263
  # @rbs return: ::Integer
264
+ # @return [Integer]
265
+ # @see AttributeSets::Report::Flags
144
266
  def flags; attributes[:"flags"]&.value; end
145
- # Gets the value of `code` attribute in the message.
146
- #--
267
+ # The application-defined code from the transaction.
147
268
  # @rbs return: ::Integer
269
+ # @return [Integer]
270
+ # @see AttributeSets::Report::Code
148
271
  def code; attributes[:"code"]&.value; end
149
- # Gets the value of `data-size` attribute in the message.
150
- #--
272
+ # The transaction payload size in bytes.
151
273
  # @rbs return: ::Integer
274
+ # @return [Integer]
275
+ # @see AttributeSets::Report::DataSize
152
276
  def data_size; attributes[:"data_size"]&.value; end
153
277
  end
154
278
  end
279
+ # @private
155
280
  NOTIFICATIONS = Ractor.make_shareable({1 => Notifications::Report}) #: Hash[::Integer, ::Class]
156
281
  class AsyncOperations
157
- # :nodoc:
282
+ # @private
158
283
  def initialize(&exchange)
159
284
  @exchange = exchange
160
285
  end
161
286
  end
162
287
  # Returns the asynchronous operation facade for this family.
163
- #--
164
288
  # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
289
+ # @param [::Integer, nil] stream_capacity
290
+ # @return [AsyncOperations]
165
291
  def async(stream_capacity: nil)
166
292
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
167
293
  build_async_facade(AsyncOperations, stream_capacity:)
168
294
  end
169
- #--
170
295
  # @rbs (*(:report) groups) -> self
296
+ # @param [Array<:report>] groups
297
+ # @return [self]
171
298
  def subscribe(*groups) = super
172
- #--
173
299
  # @rbs (*(:report) groups) -> self
300
+ # @param [Array<:report>] groups
301
+ # @return [self]
174
302
  def unsubscribe(*groups) = super
175
303
  end
176
304
  end; end