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
@@ -3,15 +3,45 @@
3
3
  # This file is based on Documentation/netlink/specs/rt-addr.yaml from Linux v7.2.
4
4
  #--
5
5
  # frozen_string_literal: true
6
- # rbs_inline: enabled
7
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
8
7
  require 'nl'
9
8
  module Nl; module Linux
10
9
  # Address configuration over rtnetlink.
11
- class RtAddr < ::Nl::Family
10
+ class RtAddr < ::Nl::Raw::Family
12
11
  NAME = "rt-addr"
13
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("rt-addr", 0))
12
+ PROTONUM = 0
13
+ # @rbs (?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [Symbol, nil] executor
17
+ # @param [Integer, nil] notification_capacity
18
+ # @return [RtAddr]
19
+ # @overload open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
20
+ # @param [Symbol, nil] executor
21
+ # @param [Integer, nil] notification_capacity
22
+ # @yieldparam [RtAddr] family
23
+ # @return [Object] the result of the block
24
+ def self.open(executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
25
+ super
26
+ end
27
+ # @private
14
28
  MCAST_GROUPS = Ractor.make_shareable({:"rtnlgrp_ipv4_ifaddr" => ::Nl::McastGroup.new("rtnlgrp-ipv4-ifaddr", 5), :"rtnlgrp_ipv6_ifaddr" => ::Nl::McastGroup.new("rtnlgrp-ipv6-ifaddr", 9)}) #: Hash[::Symbol, ::Nl::McastGroup]
29
+ module Flags
30
+ module IfaFlags
31
+ Secondary = 1
32
+ Nodad = 2
33
+ Optimistic = 4
34
+ Dadfailed = 8
35
+ Homeaddress = 16
36
+ Deprecated = 32
37
+ Tentative = 64
38
+ Permanent = 128
39
+ Managetempaddr = 256
40
+ Noprefixroute = 512
41
+ Mcautojoin = 1024
42
+ StablePrivacy = 2048
43
+ end
44
+ end
15
45
  module Structs
16
46
  Ifaddrmsg = Struct.new(
17
47
  :"ifa_family", #: ::Integer
@@ -21,19 +51,31 @@ class RtAddr < ::Nl::Family
21
51
  :"ifa_index", #: ::Integer
22
52
  )
23
53
  class Ifaddrmsg
24
- # :nodoc:
25
- MEMBERS = Ractor.make_shareable({ifa_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_prefixlen: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_scope: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_index: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
54
+ # @!attribute [rw] ifa_family
55
+ # @return [Integer]
56
+ # @!attribute [rw] ifa_prefixlen
57
+ # @return [Integer]
58
+ # @!attribute [rw] ifa_flags
59
+ # @return [Integer]
60
+ # @!attribute [rw] ifa_scope
61
+ # @return [Integer]
62
+ # @!attribute [rw] ifa_index
63
+ # @return [Integer]
64
+ # @private
65
+ MEMBERS = Ractor.make_shareable({ifa_family: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_prefixlen: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_flags: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_scope: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), ifa_index: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
26
66
  # Decodes the struct.
27
- #--
28
67
  # @rbs decoder: ::Nl::Decoder
29
68
  # @rbs return: instance
69
+ # @param [Nl::Decoder] decoder
70
+ # @return [self]
30
71
  def self.decode(decoder)
31
72
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
32
73
  end
33
74
  # Encodes the struct.
34
- #--
35
75
  # @rbs encoder: ::Nl::Encoder
36
76
  # @rbs return: void
77
+ # @param [Nl::Encoder] encoder
78
+ # @return [void]
37
79
  def encode(encoder)
38
80
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
39
81
  end
@@ -45,459 +87,620 @@ class RtAddr < ::Nl::Family
45
87
  :"tstamp", #: ::Integer
46
88
  )
47
89
  class IfaCacheinfo
48
- # :nodoc:
49
- MEMBERS = Ractor.make_shareable({ifa_prefered: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ifa_valid: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), cstamp: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tstamp: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
90
+ # @!attribute [rw] ifa_prefered
91
+ # @return [Integer]
92
+ # @!attribute [rw] ifa_valid
93
+ # @return [Integer]
94
+ # @!attribute [rw] cstamp
95
+ # @return [Integer]
96
+ # @!attribute [rw] tstamp
97
+ # @return [Integer]
98
+ # @private
99
+ MEMBERS = Ractor.make_shareable({ifa_prefered: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ifa_valid: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), cstamp: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), tstamp: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
50
100
  # Decodes the struct.
51
- #--
52
101
  # @rbs decoder: ::Nl::Decoder
53
102
  # @rbs return: instance
103
+ # @param [Nl::Decoder] decoder
104
+ # @return [self]
54
105
  def self.decode(decoder)
55
106
  self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
56
107
  end
57
108
  # Encodes the struct.
58
- #--
59
109
  # @rbs encoder: ::Nl::Encoder
60
110
  # @rbs return: void
111
+ # @param [Nl::Encoder] encoder
112
+ # @return [void]
61
113
  def encode(encoder)
62
114
  MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
63
115
  end
64
116
  end
65
117
  end
66
118
  module AttributeSets
67
- class AddrAttrs < ::Nl::Protocols::Raw::AttributeSet
119
+ class AddrAttrs < ::Nl::AttributeSet
68
120
  # Abstract class
69
- class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
121
+ class Attribute < ::Nl::AttributeSet::Attribute
70
122
  end
71
123
  class Address < Attribute
72
124
  TYPE = 1
73
125
  NAME = :"address"
74
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
126
+ # @private
127
+ ORDER = 0
128
+ # @private
129
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
75
130
  end
76
131
  class Local < Attribute
77
132
  TYPE = 2
78
133
  NAME = :"local"
79
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
134
+ # @private
135
+ ORDER = 1
136
+ # @private
137
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
80
138
  end
81
139
  class Label < Attribute
82
140
  TYPE = 3
83
141
  NAME = :"label"
84
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
142
+ # @private
143
+ ORDER = 2
144
+ # @private
145
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
85
146
  end
86
147
  class Broadcast < Attribute
87
148
  TYPE = 4
88
149
  NAME = :"broadcast"
89
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
150
+ # @private
151
+ ORDER = 3
152
+ # @private
153
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
90
154
  end
91
155
  class Anycast < Attribute
92
156
  TYPE = 5
93
157
  NAME = :"anycast"
94
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
158
+ # @private
159
+ ORDER = 4
160
+ # @private
161
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
95
162
  end
96
163
  class Cacheinfo < Attribute
97
164
  TYPE = 6
98
165
  NAME = :"cacheinfo"
99
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
166
+ # @private
167
+ ORDER = 5
168
+ # @private
169
+ DATATYPE = ::Nl::DataTypes::Struct.new(Structs::IfaCacheinfo, check: nil, consume_remaining: true)
100
170
  end
101
171
  class Multicast < Attribute
102
172
  TYPE = 7
103
173
  NAME = :"multicast"
104
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
174
+ # @private
175
+ ORDER = 6
176
+ # @private
177
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
105
178
  end
179
+ # Known flags are defined in {Flags::IfaFlags}.
106
180
  class Flags < Attribute
107
181
  TYPE = 8
108
182
  NAME = :"flags"
109
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
183
+ # @private
184
+ ORDER = 7
185
+ # @private
186
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
110
187
  end
111
188
  class RtPriority < Attribute
112
189
  TYPE = 9
113
190
  NAME = :"rt_priority"
114
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
191
+ # @private
192
+ ORDER = 8
193
+ # @private
194
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
115
195
  end
116
196
  class TargetNetnsid < Attribute
117
197
  TYPE = 10
118
198
  NAME = :"target_netnsid"
119
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
199
+ # @private
200
+ ORDER = 9
201
+ # @private
202
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
120
203
  end
121
204
  class Proto < Attribute
122
205
  TYPE = 11
123
206
  NAME = :"proto"
124
- DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
207
+ # @private
208
+ ORDER = 10
209
+ # @private
210
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
125
211
  end
126
- # :nodoc:
212
+ # @private
127
213
  BY_NAME = Ractor.make_shareable({:"address" => Address, :"local" => Local, :"label" => Label, :"broadcast" => Broadcast, :"anycast" => Anycast, :"cacheinfo" => Cacheinfo, :"multicast" => Multicast, :"flags" => Flags, :"rt_priority" => RtPriority, :"target_netnsid" => TargetNetnsid, :"proto" => Proto}) #: Hash[::Symbol, Attribute]
128
- # :nodoc:
214
+ # @private
129
215
  BY_TYPE = Ractor.make_shareable({1 => Address, 2 => Local, 3 => Label, 4 => Broadcast, 5 => Anycast, 6 => Cacheinfo, 7 => Multicast, 8 => Flags, 9 => RtPriority, 10 => TargetNetnsid, 11 => Proto}) #: Hash[::Integer, Attribute]
216
+ # @rbs return: ::String
217
+ # @return [String]
218
+ # @see Address
219
+ def address; self[:"address"]&.value; end
220
+ # @rbs return: ::String
221
+ # @return [String]
222
+ # @see Local
223
+ def local; self[:"local"]&.value; end
224
+ # @rbs return: ::String
225
+ # @return [String]
226
+ # @see Label
227
+ def label; self[:"label"]&.value; end
228
+ # @rbs return: ::Integer
229
+ # @return [Integer]
230
+ # @see Broadcast
231
+ def broadcast; self[:"broadcast"]&.value; end
232
+ # @rbs return: ::String
233
+ # @return [String]
234
+ # @see Anycast
235
+ def anycast; self[:"anycast"]&.value; end
236
+ # @rbs return: Structs::IfaCacheinfo
237
+ # @return [Structs::IfaCacheinfo]
238
+ # @see Cacheinfo
239
+ def cacheinfo; self[:"cacheinfo"]&.value; end
240
+ # @rbs return: ::String
241
+ # @return [String]
242
+ # @see Multicast
243
+ def multicast; self[:"multicast"]&.value; end
244
+ # Known flags are defined in {Flags::IfaFlags}.
245
+ # @rbs return: ::Integer
246
+ # @return [Integer]
247
+ # @see Flags
248
+ def flags; self[:"flags"]&.value; end
249
+ # @rbs return: ::Integer
250
+ # @return [Integer]
251
+ # @see RtPriority
252
+ def rt_priority; self[:"rt_priority"]&.value; end
253
+ # @rbs return: ::String
254
+ # @return [String]
255
+ # @see TargetNetnsid
256
+ def target_netnsid; self[:"target_netnsid"]&.value; end
257
+ # @rbs return: ::Integer
258
+ # @return [Integer]
259
+ # @see Proto
260
+ def proto; self[:"proto"]&.value; end
130
261
  class << self
131
262
  # Looks up Attribute class by name.
132
- #--
133
263
  # @rbs name: Symbol
134
264
  # @rbs return: Attribute
265
+ # @param [Symbol] name
266
+ # @return [Attribute]
135
267
  def by_name(name); BY_NAME.fetch(name); end
136
268
  # Looks up Attribute class by type value.
137
- #--
138
269
  # @rbs type: Integer
139
270
  # @rbs return: Attribute
271
+ # @param [Integer] type
272
+ # @return [Attribute]
140
273
  def by_type(type); BY_TYPE.fetch(type); end
141
274
  end
142
275
  end
143
276
  end
144
277
  module Messages
145
278
  # Add new address
146
- class DoNewaddrRequest < ::Nl::Protocols::Raw::Message
279
+ class DoNewaddrRequest < ::Nl::Raw::Message
147
280
  TYPE = 20
148
281
  FIXED_HEADER = Structs::Ifaddrmsg
149
282
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
150
283
  ATTRIBUTES = Ractor.make_shareable(%i[address local label cacheinfo])
151
- # Gets the value of `ifa-family` field in the message's fixed header.
152
- #--
153
284
  # @rbs return: ::Integer
285
+ # @return [Integer]
154
286
  def ifa_family; fixed_header.ifa_family; end
155
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
156
- #--
157
287
  # @rbs return: ::Integer
288
+ # @return [Integer]
158
289
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
159
- # Gets the value of `ifa-flags` field in the message's fixed header.
160
- #--
161
290
  # @rbs return: ::Integer
291
+ # @return [Integer]
162
292
  def ifa_flags; fixed_header.ifa_flags; end
163
- # Gets the value of `ifa-scope` field in the message's fixed header.
164
- #--
165
293
  # @rbs return: ::Integer
294
+ # @return [Integer]
166
295
  def ifa_scope; fixed_header.ifa_scope; end
167
- # Gets the value of `ifa-index` field in the message's fixed header.
168
- #--
169
296
  # @rbs return: ::Integer
297
+ # @return [Integer]
170
298
  def ifa_index; fixed_header.ifa_index; end
171
- # Gets the value of `address` attribute in the message.
172
- #--
173
299
  # @rbs return: ::String
300
+ # @return [String]
301
+ # @see AttributeSets::AddrAttrs::Address
174
302
  def address; attributes[:"address"]&.value; end
175
- # Gets the value of `local` attribute in the message.
176
- #--
177
303
  # @rbs return: ::String
304
+ # @return [String]
305
+ # @see AttributeSets::AddrAttrs::Local
178
306
  def local; attributes[:"local"]&.value; end
179
- # Gets the value of `label` attribute in the message.
180
- #--
181
307
  # @rbs return: ::String
308
+ # @return [String]
309
+ # @see AttributeSets::AddrAttrs::Label
182
310
  def label; attributes[:"label"]&.value; end
183
- # Gets the value of `cacheinfo` attribute in the message.
184
- #--
185
- # @rbs return: ::String
311
+ # @rbs return: Structs::IfaCacheinfo
312
+ # @return [Structs::IfaCacheinfo]
313
+ # @see AttributeSets::AddrAttrs::Cacheinfo
186
314
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
187
315
  end
188
316
  # Remove address
189
- class DoDeladdrRequest < ::Nl::Protocols::Raw::Message
317
+ class DoDeladdrRequest < ::Nl::Raw::Message
190
318
  TYPE = 21
191
319
  FIXED_HEADER = Structs::Ifaddrmsg
192
320
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
193
321
  ATTRIBUTES = Ractor.make_shareable(%i[address local])
194
- # Gets the value of `ifa-family` field in the message's fixed header.
195
- #--
196
322
  # @rbs return: ::Integer
323
+ # @return [Integer]
197
324
  def ifa_family; fixed_header.ifa_family; end
198
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
199
- #--
200
325
  # @rbs return: ::Integer
326
+ # @return [Integer]
201
327
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
202
- # Gets the value of `ifa-flags` field in the message's fixed header.
203
- #--
204
328
  # @rbs return: ::Integer
329
+ # @return [Integer]
205
330
  def ifa_flags; fixed_header.ifa_flags; end
206
- # Gets the value of `ifa-scope` field in the message's fixed header.
207
- #--
208
331
  # @rbs return: ::Integer
332
+ # @return [Integer]
209
333
  def ifa_scope; fixed_header.ifa_scope; end
210
- # Gets the value of `ifa-index` field in the message's fixed header.
211
- #--
212
334
  # @rbs return: ::Integer
335
+ # @return [Integer]
213
336
  def ifa_index; fixed_header.ifa_index; end
214
- # Gets the value of `address` attribute in the message.
215
- #--
216
337
  # @rbs return: ::String
338
+ # @return [String]
339
+ # @see AttributeSets::AddrAttrs::Address
217
340
  def address; attributes[:"address"]&.value; end
218
- # Gets the value of `local` attribute in the message.
219
- #--
220
341
  # @rbs return: ::String
342
+ # @return [String]
343
+ # @see AttributeSets::AddrAttrs::Local
221
344
  def local; attributes[:"local"]&.value; end
222
345
  end
223
346
  # Dump address information.
224
- class DumpGetaddrRequest < ::Nl::Protocols::Raw::Message
347
+ class DumpGetaddrRequest < ::Nl::Raw::Message
225
348
  TYPE = 22
226
349
  FIXED_HEADER = Structs::Ifaddrmsg
227
350
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
228
351
  ATTRIBUTES = Ractor.make_shareable(%i[])
229
- # Gets the value of `ifa-family` field in the message's fixed header.
230
- #--
231
352
  # @rbs return: ::Integer
353
+ # @return [Integer]
232
354
  def ifa_family; fixed_header.ifa_family; end
233
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
234
- #--
235
355
  # @rbs return: ::Integer
356
+ # @return [Integer]
236
357
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
237
- # Gets the value of `ifa-flags` field in the message's fixed header.
238
- #--
239
358
  # @rbs return: ::Integer
359
+ # @return [Integer]
240
360
  def ifa_flags; fixed_header.ifa_flags; end
241
- # Gets the value of `ifa-scope` field in the message's fixed header.
242
- #--
243
361
  # @rbs return: ::Integer
362
+ # @return [Integer]
244
363
  def ifa_scope; fixed_header.ifa_scope; end
245
- # Gets the value of `ifa-index` field in the message's fixed header.
246
- #--
247
364
  # @rbs return: ::Integer
365
+ # @return [Integer]
248
366
  def ifa_index; fixed_header.ifa_index; end
249
367
  end
250
368
  # Dump address information.
251
- class DumpGetaddrReply < ::Nl::Protocols::Raw::Message
369
+ class DumpGetaddrReply < ::Nl::Raw::Message
252
370
  TYPE = 20
253
371
  FIXED_HEADER = Structs::Ifaddrmsg
254
372
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
255
373
  ATTRIBUTES = Ractor.make_shareable(%i[address local label cacheinfo])
256
- # Gets the value of `ifa-family` field in the message's fixed header.
257
- #--
258
374
  # @rbs return: ::Integer
375
+ # @return [Integer]
259
376
  def ifa_family; fixed_header.ifa_family; end
260
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
261
- #--
262
377
  # @rbs return: ::Integer
378
+ # @return [Integer]
263
379
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
264
- # Gets the value of `ifa-flags` field in the message's fixed header.
265
- #--
266
380
  # @rbs return: ::Integer
381
+ # @return [Integer]
267
382
  def ifa_flags; fixed_header.ifa_flags; end
268
- # Gets the value of `ifa-scope` field in the message's fixed header.
269
- #--
270
383
  # @rbs return: ::Integer
384
+ # @return [Integer]
271
385
  def ifa_scope; fixed_header.ifa_scope; end
272
- # Gets the value of `ifa-index` field in the message's fixed header.
273
- #--
274
386
  # @rbs return: ::Integer
387
+ # @return [Integer]
275
388
  def ifa_index; fixed_header.ifa_index; end
276
- # Gets the value of `address` attribute in the message.
277
- #--
278
389
  # @rbs return: ::String
390
+ # @return [String]
391
+ # @see AttributeSets::AddrAttrs::Address
279
392
  def address; attributes[:"address"]&.value; end
280
- # Gets the value of `local` attribute in the message.
281
- #--
282
393
  # @rbs return: ::String
394
+ # @return [String]
395
+ # @see AttributeSets::AddrAttrs::Local
283
396
  def local; attributes[:"local"]&.value; end
284
- # Gets the value of `label` attribute in the message.
285
- #--
286
397
  # @rbs return: ::String
398
+ # @return [String]
399
+ # @see AttributeSets::AddrAttrs::Label
287
400
  def label; attributes[:"label"]&.value; end
288
- # Gets the value of `cacheinfo` attribute in the message.
289
- #--
290
- # @rbs return: ::String
401
+ # @rbs return: Structs::IfaCacheinfo
402
+ # @return [Structs::IfaCacheinfo]
403
+ # @see AttributeSets::AddrAttrs::Cacheinfo
291
404
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
292
405
  end
293
406
  # Get / dump IPv4/IPv6 multicast addresses.
294
- class DoGetmulticastRequest < ::Nl::Protocols::Raw::Message
407
+ class DoGetmulticastRequest < ::Nl::Raw::Message
295
408
  TYPE = 58
296
409
  FIXED_HEADER = Structs::Ifaddrmsg
297
410
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
298
411
  ATTRIBUTES = Ractor.make_shareable(%i[])
299
- # Gets the value of `ifa-family` field in the message's fixed header.
300
- #--
301
412
  # @rbs return: ::Integer
413
+ # @return [Integer]
302
414
  def ifa_family; fixed_header.ifa_family; end
303
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
304
- #--
305
415
  # @rbs return: ::Integer
416
+ # @return [Integer]
306
417
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
307
- # Gets the value of `ifa-flags` field in the message's fixed header.
308
- #--
309
418
  # @rbs return: ::Integer
419
+ # @return [Integer]
310
420
  def ifa_flags; fixed_header.ifa_flags; end
311
- # Gets the value of `ifa-scope` field in the message's fixed header.
312
- #--
313
421
  # @rbs return: ::Integer
422
+ # @return [Integer]
314
423
  def ifa_scope; fixed_header.ifa_scope; end
315
- # Gets the value of `ifa-index` field in the message's fixed header.
316
- #--
317
424
  # @rbs return: ::Integer
425
+ # @return [Integer]
318
426
  def ifa_index; fixed_header.ifa_index; end
319
427
  end
320
428
  # Get / dump IPv4/IPv6 multicast addresses.
321
- class DoGetmulticastReply < ::Nl::Protocols::Raw::Message
429
+ class DoGetmulticastReply < ::Nl::Raw::Message
322
430
  TYPE = 58
323
431
  FIXED_HEADER = Structs::Ifaddrmsg
324
432
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
325
433
  ATTRIBUTES = Ractor.make_shareable(%i[cacheinfo multicast])
326
- # Gets the value of `ifa-family` field in the message's fixed header.
327
- #--
328
434
  # @rbs return: ::Integer
435
+ # @return [Integer]
329
436
  def ifa_family; fixed_header.ifa_family; end
330
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
331
- #--
332
437
  # @rbs return: ::Integer
438
+ # @return [Integer]
333
439
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
334
- # Gets the value of `ifa-flags` field in the message's fixed header.
335
- #--
336
440
  # @rbs return: ::Integer
441
+ # @return [Integer]
337
442
  def ifa_flags; fixed_header.ifa_flags; end
338
- # Gets the value of `ifa-scope` field in the message's fixed header.
339
- #--
340
443
  # @rbs return: ::Integer
444
+ # @return [Integer]
341
445
  def ifa_scope; fixed_header.ifa_scope; end
342
- # Gets the value of `ifa-index` field in the message's fixed header.
343
- #--
344
446
  # @rbs return: ::Integer
447
+ # @return [Integer]
345
448
  def ifa_index; fixed_header.ifa_index; end
346
- # Gets the value of `cacheinfo` attribute in the message.
347
- #--
348
- # @rbs return: ::String
449
+ # @rbs return: Structs::IfaCacheinfo
450
+ # @return [Structs::IfaCacheinfo]
451
+ # @see AttributeSets::AddrAttrs::Cacheinfo
349
452
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
350
- # Gets the value of `multicast` attribute in the message.
351
- #--
352
453
  # @rbs return: ::String
454
+ # @return [String]
455
+ # @see AttributeSets::AddrAttrs::Multicast
353
456
  def multicast; attributes[:"multicast"]&.value; end
354
457
  end
355
458
  # Get / dump IPv4/IPv6 multicast addresses.
356
- class DumpGetmulticastRequest < ::Nl::Protocols::Raw::Message
459
+ class DumpGetmulticastRequest < ::Nl::Raw::Message
357
460
  TYPE = 58
358
461
  FIXED_HEADER = Structs::Ifaddrmsg
359
462
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
360
463
  ATTRIBUTES = Ractor.make_shareable(%i[])
361
- # Gets the value of `ifa-family` field in the message's fixed header.
362
- #--
363
464
  # @rbs return: ::Integer
465
+ # @return [Integer]
364
466
  def ifa_family; fixed_header.ifa_family; end
365
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
366
- #--
367
467
  # @rbs return: ::Integer
468
+ # @return [Integer]
368
469
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
369
- # Gets the value of `ifa-flags` field in the message's fixed header.
370
- #--
371
470
  # @rbs return: ::Integer
471
+ # @return [Integer]
372
472
  def ifa_flags; fixed_header.ifa_flags; end
373
- # Gets the value of `ifa-scope` field in the message's fixed header.
374
- #--
375
473
  # @rbs return: ::Integer
474
+ # @return [Integer]
376
475
  def ifa_scope; fixed_header.ifa_scope; end
377
- # Gets the value of `ifa-index` field in the message's fixed header.
378
- #--
379
476
  # @rbs return: ::Integer
477
+ # @return [Integer]
380
478
  def ifa_index; fixed_header.ifa_index; end
381
479
  end
382
480
  # Get / dump IPv4/IPv6 multicast addresses.
383
- class DumpGetmulticastReply < ::Nl::Protocols::Raw::Message
481
+ class DumpGetmulticastReply < ::Nl::Raw::Message
384
482
  TYPE = 58
385
483
  FIXED_HEADER = Structs::Ifaddrmsg
386
484
  ATTRIBUTE_SET = AttributeSets::AddrAttrs
387
485
  ATTRIBUTES = Ractor.make_shareable(%i[cacheinfo multicast])
388
- # Gets the value of `ifa-family` field in the message's fixed header.
389
- #--
390
486
  # @rbs return: ::Integer
487
+ # @return [Integer]
391
488
  def ifa_family; fixed_header.ifa_family; end
392
- # Gets the value of `ifa-prefixlen` field in the message's fixed header.
393
- #--
394
489
  # @rbs return: ::Integer
490
+ # @return [Integer]
395
491
  def ifa_prefixlen; fixed_header.ifa_prefixlen; end
396
- # Gets the value of `ifa-flags` field in the message's fixed header.
397
- #--
398
492
  # @rbs return: ::Integer
493
+ # @return [Integer]
399
494
  def ifa_flags; fixed_header.ifa_flags; end
400
- # Gets the value of `ifa-scope` field in the message's fixed header.
401
- #--
402
495
  # @rbs return: ::Integer
496
+ # @return [Integer]
403
497
  def ifa_scope; fixed_header.ifa_scope; end
404
- # Gets the value of `ifa-index` field in the message's fixed header.
405
- #--
406
498
  # @rbs return: ::Integer
499
+ # @return [Integer]
407
500
  def ifa_index; fixed_header.ifa_index; end
408
- # Gets the value of `cacheinfo` attribute in the message.
409
- #--
410
- # @rbs return: ::String
501
+ # @rbs return: Structs::IfaCacheinfo
502
+ # @return [Structs::IfaCacheinfo]
503
+ # @see AttributeSets::AddrAttrs::Cacheinfo
411
504
  def cacheinfo; attributes[:"cacheinfo"]&.value; end
412
- # Gets the value of `multicast` attribute in the message.
413
- #--
414
505
  # @rbs return: ::String
506
+ # @return [String]
507
+ # @see AttributeSets::AddrAttrs::Multicast
415
508
  def multicast; attributes[:"multicast"]&.value; end
416
509
  end
417
510
  end
418
511
  module Notifications
419
512
  end
513
+ # @private
420
514
  NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
421
515
  # Add new address
422
- #--
423
- # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String, ?label: ::String, ?cacheinfo: ::String) -> void
516
+ # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String, ?label: ::String, ?cacheinfo: (Structs::IfaCacheinfo | ::Hash[::Symbol, untyped])) -> void
517
+ # @param [Hash] args
518
+ # @option args [Integer] ifa_family
519
+ # @option args [Integer] ifa_prefixlen
520
+ # @option args [Integer] ifa_flags
521
+ # @option args [Integer] ifa_scope
522
+ # @option args [Integer] ifa_index
523
+ # @option args [String] address
524
+ # @option args [String] local
525
+ # @option args [String] label
526
+ # @option args [Structs::IfaCacheinfo, Hash<Symbol, Object>] cacheinfo
527
+ # @return [void]
528
+ # @see Messages::DoNewaddrRequest
424
529
  def do_newaddr(**args)
425
530
  exchange_message(:"do", Messages::DoNewaddrRequest, nil, args)
426
531
  end
427
532
  # Remove address
428
- #--
429
533
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String) -> void
534
+ # @param [Hash] args
535
+ # @option args [Integer] ifa_family
536
+ # @option args [Integer] ifa_prefixlen
537
+ # @option args [Integer] ifa_flags
538
+ # @option args [Integer] ifa_scope
539
+ # @option args [Integer] ifa_index
540
+ # @option args [String] address
541
+ # @option args [String] local
542
+ # @return [void]
543
+ # @see Messages::DoDeladdrRequest
430
544
  def do_deladdr(**args)
431
545
  exchange_message(:"do", Messages::DoDeladdrRequest, nil, args)
432
546
  end
433
547
  # Dump address information.
434
- #--
435
- # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> Enumerable[Messages::DumpGetaddrReply]
548
+ # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> Array[Messages::DumpGetaddrReply]
436
549
  # | (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) { (Messages::DumpGetaddrReply) -> void } -> void
550
+ # @overload dump_getaddr(**args)
551
+ # Returns an array when no block is given.
552
+ # @param [Hash] args
553
+ # @option args [Integer] ifa_family
554
+ # @option args [Integer] ifa_prefixlen
555
+ # @option args [Integer] ifa_flags
556
+ # @option args [Integer] ifa_scope
557
+ # @option args [Integer] ifa_index
558
+ # @return [Array<Messages::DumpGetaddrReply>]
559
+ # @overload dump_getaddr(**args, &block)
560
+ # Yields each reply when a block is given.
561
+ # @param [Hash] args
562
+ # @option args [Integer] ifa_family
563
+ # @option args [Integer] ifa_prefixlen
564
+ # @option args [Integer] ifa_flags
565
+ # @option args [Integer] ifa_scope
566
+ # @option args [Integer] ifa_index
567
+ # @yieldparam [Messages::DumpGetaddrReply] reply
568
+ # @return [void]
569
+ # @see Messages::DumpGetaddrRequest
437
570
  def dump_getaddr(**args, &block)
438
571
  exchange_message(:"dump", Messages::DumpGetaddrRequest, Messages::DumpGetaddrReply, args, &block)
439
572
  end
440
573
  # Get / dump IPv4/IPv6 multicast addresses.
441
- #--
442
574
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> Messages::DoGetmulticastReply
575
+ # @param [Hash] args
576
+ # @option args [Integer] ifa_family
577
+ # @option args [Integer] ifa_prefixlen
578
+ # @option args [Integer] ifa_flags
579
+ # @option args [Integer] ifa_scope
580
+ # @option args [Integer] ifa_index
581
+ # @return [Messages::DoGetmulticastReply]
582
+ # @see Messages::DoGetmulticastRequest
443
583
  def do_getmulticast(**args)
444
584
  exchange_message(:"do", Messages::DoGetmulticastRequest, Messages::DoGetmulticastReply, args)
445
585
  end
446
586
  # Get / dump IPv4/IPv6 multicast addresses.
447
- #--
448
- # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> Enumerable[Messages::DumpGetmulticastReply]
587
+ # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> Array[Messages::DumpGetmulticastReply]
449
588
  # | (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) { (Messages::DumpGetmulticastReply) -> void } -> void
589
+ # @overload dump_getmulticast(**args)
590
+ # Returns an array when no block is given.
591
+ # @param [Hash] args
592
+ # @option args [Integer] ifa_family
593
+ # @option args [Integer] ifa_prefixlen
594
+ # @option args [Integer] ifa_flags
595
+ # @option args [Integer] ifa_scope
596
+ # @option args [Integer] ifa_index
597
+ # @return [Array<Messages::DumpGetmulticastReply>]
598
+ # @overload dump_getmulticast(**args, &block)
599
+ # Yields each reply when a block is given.
600
+ # @param [Hash] args
601
+ # @option args [Integer] ifa_family
602
+ # @option args [Integer] ifa_prefixlen
603
+ # @option args [Integer] ifa_flags
604
+ # @option args [Integer] ifa_scope
605
+ # @option args [Integer] ifa_index
606
+ # @yieldparam [Messages::DumpGetmulticastReply] reply
607
+ # @return [void]
608
+ # @see Messages::DumpGetmulticastRequest
450
609
  def dump_getmulticast(**args, &block)
451
610
  exchange_message(:"dump", Messages::DumpGetmulticastRequest, Messages::DumpGetmulticastReply, args, &block)
452
611
  end
453
612
  class AsyncOperations
454
- # :nodoc:
613
+ # @private
455
614
  def initialize(&exchange)
456
615
  @exchange = exchange
457
616
  end
458
617
  # Add new address
459
- #--
460
- # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String, ?label: ::String, ?cacheinfo: ::String) -> ::Nl::Async::Future[void]
618
+ # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String, ?label: ::String, ?cacheinfo: (Structs::IfaCacheinfo | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
619
+ # @param [Hash] args
620
+ # @option args [Integer] ifa_family
621
+ # @option args [Integer] ifa_prefixlen
622
+ # @option args [Integer] ifa_flags
623
+ # @option args [Integer] ifa_scope
624
+ # @option args [Integer] ifa_index
625
+ # @option args [String] address
626
+ # @option args [String] local
627
+ # @option args [String] label
628
+ # @option args [Structs::IfaCacheinfo, Hash<Symbol, Object>] cacheinfo
629
+ # @return [Nl::Async::Future<void>]
630
+ # @see Messages::DoNewaddrRequest
461
631
  def do_newaddr(**args)
462
632
  @exchange.call(:"do", Messages::DoNewaddrRequest, nil, args)
463
633
  end
464
634
  # Remove address
465
- #--
466
635
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer, ?address: ::String, ?local: ::String) -> ::Nl::Async::Future[void]
636
+ # @param [Hash] args
637
+ # @option args [Integer] ifa_family
638
+ # @option args [Integer] ifa_prefixlen
639
+ # @option args [Integer] ifa_flags
640
+ # @option args [Integer] ifa_scope
641
+ # @option args [Integer] ifa_index
642
+ # @option args [String] address
643
+ # @option args [String] local
644
+ # @return [Nl::Async::Future<void>]
645
+ # @see Messages::DoDeladdrRequest
467
646
  def do_deladdr(**args)
468
647
  @exchange.call(:"do", Messages::DoDeladdrRequest, nil, args)
469
648
  end
470
649
  # Dump address information.
471
- #--
472
650
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetaddrReply]
651
+ # @param [Hash] args
652
+ # @option args [Integer] ifa_family
653
+ # @option args [Integer] ifa_prefixlen
654
+ # @option args [Integer] ifa_flags
655
+ # @option args [Integer] ifa_scope
656
+ # @option args [Integer] ifa_index
657
+ # @return [Nl::Async::Stream<Messages::DumpGetaddrReply>]
658
+ # @see Messages::DumpGetaddrRequest
473
659
  def dump_getaddr(**args)
474
660
  @exchange.call(:"dump", Messages::DumpGetaddrRequest, Messages::DumpGetaddrReply, args)
475
661
  end
476
662
  # Get / dump IPv4/IPv6 multicast addresses.
477
- #--
478
663
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> ::Nl::Async::Future[Messages::DoGetmulticastReply]
664
+ # @param [Hash] args
665
+ # @option args [Integer] ifa_family
666
+ # @option args [Integer] ifa_prefixlen
667
+ # @option args [Integer] ifa_flags
668
+ # @option args [Integer] ifa_scope
669
+ # @option args [Integer] ifa_index
670
+ # @return [Nl::Async::Future<Messages::DoGetmulticastReply>]
671
+ # @see Messages::DoGetmulticastRequest
479
672
  def do_getmulticast(**args)
480
673
  @exchange.call(:"do", Messages::DoGetmulticastRequest, Messages::DoGetmulticastReply, args)
481
674
  end
482
675
  # Get / dump IPv4/IPv6 multicast addresses.
483
- #--
484
676
  # @rbs (?ifa_family: ::Integer, ?ifa_prefixlen: ::Integer, ?ifa_flags: ::Integer, ?ifa_scope: ::Integer, ?ifa_index: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetmulticastReply]
677
+ # @param [Hash] args
678
+ # @option args [Integer] ifa_family
679
+ # @option args [Integer] ifa_prefixlen
680
+ # @option args [Integer] ifa_flags
681
+ # @option args [Integer] ifa_scope
682
+ # @option args [Integer] ifa_index
683
+ # @return [Nl::Async::Stream<Messages::DumpGetmulticastReply>]
684
+ # @see Messages::DumpGetmulticastRequest
485
685
  def dump_getmulticast(**args)
486
686
  @exchange.call(:"dump", Messages::DumpGetmulticastRequest, Messages::DumpGetmulticastReply, args)
487
687
  end
488
688
  end
489
689
  # Returns the asynchronous operation facade for this family.
490
- #--
491
690
  # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
691
+ # @param [::Integer, nil] stream_capacity
692
+ # @return [AsyncOperations]
492
693
  def async(stream_capacity: nil)
493
694
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
494
695
  build_async_facade(AsyncOperations, stream_capacity:)
495
696
  end
496
- #--
497
697
  # @rbs (*(:rtnlgrp_ipv4_ifaddr | :rtnlgrp_ipv6_ifaddr) groups) -> self
698
+ # @param [Array<:rtnlgrp_ipv4_ifaddr, :rtnlgrp_ipv6_ifaddr>] groups
699
+ # @return [self]
498
700
  def subscribe(*groups) = super
499
- #--
500
701
  # @rbs (*(:rtnlgrp_ipv4_ifaddr | :rtnlgrp_ipv6_ifaddr) groups) -> self
702
+ # @param [Array<:rtnlgrp_ipv4_ifaddr, :rtnlgrp_ipv6_ifaddr>] groups
703
+ # @return [self]
501
704
  def unsubscribe(*groups) = super
502
705
  end
503
706
  end; end