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,761 +3,1214 @@
3
3
  # This file is based on Documentation/netlink/specs/mptcp_pm.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
  # Multipath TCP.
11
- class MptcpPm < ::Nl::Family
10
+ class MptcpPm < ::Nl::Genl::Family
12
11
  NAME = "mptcp_pm"
13
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("mptcp_pm"))
12
+ VERSION = 1
13
+ # @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [#call] resolver
17
+ # @param [Symbol, nil] executor
18
+ # @param [Integer, nil] notification_capacity
19
+ # @return [MptcpPm]
20
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
21
+ # @param [#call] resolver
22
+ # @param [Symbol, nil] executor
23
+ # @param [Integer, nil] notification_capacity
24
+ # @yieldparam [MptcpPm] family
25
+ # @return [Object] the result of the block
26
+ def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
27
+ super
28
+ end
29
+ # @private
14
30
  MCAST_GROUPS = Ractor.make_shareable({}) #: Hash[::Symbol, ::Nl::McastGroup]
31
+ module Enums
32
+ # Netlink MPTCP event types
33
+ module EventType
34
+ # unused event
35
+ Unspec = 0
36
+ # A new MPTCP connection has been created. It is the good time to allocate memory and send ADD_ADDR if needed. Depending on the traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, [server-side], [flags].
37
+ Created = 1
38
+ # A MPTCP connection is established (can start new subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, [server-side], [flags].
39
+ Established = 2
40
+ # A MPTCP connection has stopped. Attribute: token.
41
+ Closed = 3
42
+ # A new address has been announced by the peer. Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
43
+ Announced = 6
44
+ # An address has been lost by the peer. Attributes: token, rem_id.
45
+ Removed = 7
46
+ # A new subflow has been established. 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
47
+ SubEstablished = 10
48
+ # A subflow has been closed. An error (copy of sk_err) could be set if an error has been detected for this subflow. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
49
+ SubClosed = 11
50
+ # The priority of a subflow has changed. 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
51
+ SubPriority = 13
52
+ # A new PM listener is created. Attributes: family, sport, saddr4 | saddr6.
53
+ ListenerCreated = 15
54
+ # A PM listener is closed. Attributes: family, sport, saddr4 | saddr6.
55
+ ListenerClosed = 16
56
+ end
57
+ end
15
58
  module Structs
16
59
  end
17
60
  module AttributeSets
18
- class Address < ::Nl::Protocols::Genl::AttributeSet
61
+ class Address < ::Nl::AttributeSet
19
62
  # Abstract class
20
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
63
+ class Attribute < ::Nl::AttributeSet::Attribute
21
64
  end
22
65
  class Family < Attribute
23
66
  TYPE = 1
24
67
  NAME = :"family"
25
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
68
+ # @private
69
+ ORDER = 0
70
+ # @private
71
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
26
72
  end
27
73
  class Id < Attribute
28
74
  TYPE = 2
29
75
  NAME = :"id"
30
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
76
+ # @private
77
+ ORDER = 1
78
+ # @private
79
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
31
80
  end
32
81
  class Addr4 < Attribute
33
82
  TYPE = 3
34
83
  NAME = :"addr4"
35
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
84
+ # @private
85
+ ORDER = 2
86
+ # @private
87
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
36
88
  end
37
89
  class Addr6 < Attribute
38
90
  TYPE = 4
39
91
  NAME = :"addr6"
40
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is not equal to length 16" unless it.bytesize == 16 })
92
+ # @private
93
+ ORDER = 3
94
+ # @private
95
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is not equal to length 16" unless it.bytesize == 16 })
41
96
  end
42
97
  class Port < Attribute
43
98
  TYPE = 5
44
99
  NAME = :"port"
45
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
100
+ # @private
101
+ ORDER = 4
102
+ # @private
103
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
46
104
  end
47
105
  class Flags < Attribute
48
106
  TYPE = 6
49
107
  NAME = :"flags"
50
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
108
+ # @private
109
+ ORDER = 5
110
+ # @private
111
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
51
112
  end
52
113
  class IfIdx < Attribute
53
114
  TYPE = 7
54
115
  NAME = :"if_idx"
55
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
116
+ # @private
117
+ ORDER = 6
118
+ # @private
119
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
56
120
  end
57
- # :nodoc:
121
+ # @private
58
122
  BY_NAME = Ractor.make_shareable({:"family" => Family, :"id" => Id, :"addr4" => Addr4, :"addr6" => Addr6, :"port" => Port, :"flags" => Flags, :"if_idx" => IfIdx}) #: Hash[::Symbol, Attribute]
59
- # :nodoc:
123
+ # @private
60
124
  BY_TYPE = Ractor.make_shareable({1 => Family, 2 => Id, 3 => Addr4, 4 => Addr6, 5 => Port, 6 => Flags, 7 => IfIdx}) #: Hash[::Integer, Attribute]
125
+ # @rbs return: ::Integer
126
+ # @return [Integer]
127
+ # @see Family
128
+ def family; self[:"family"]&.value; end
129
+ # @rbs return: ::Integer
130
+ # @return [Integer]
131
+ # @see Id
132
+ def id; self[:"id"]&.value; end
133
+ # @rbs return: ::Integer
134
+ # @return [Integer]
135
+ # @see Addr4
136
+ def addr4; self[:"addr4"]&.value; end
137
+ # @rbs return: ::String
138
+ # @return [String]
139
+ # @see Addr6
140
+ def addr6; self[:"addr6"]&.value; end
141
+ # @rbs return: ::Integer
142
+ # @return [Integer]
143
+ # @see Port
144
+ def port; self[:"port"]&.value; end
145
+ # @rbs return: ::Integer
146
+ # @return [Integer]
147
+ # @see Flags
148
+ def flags; self[:"flags"]&.value; end
149
+ # @rbs return: ::Integer
150
+ # @return [Integer]
151
+ # @see IfIdx
152
+ def if_idx; self[:"if_idx"]&.value; end
61
153
  class << self
62
154
  # Looks up Attribute class by name.
63
- #--
64
155
  # @rbs name: Symbol
65
156
  # @rbs return: Attribute
157
+ # @param [Symbol] name
158
+ # @return [Attribute]
66
159
  def by_name(name); BY_NAME.fetch(name); end
67
160
  # Looks up Attribute class by type value.
68
- #--
69
161
  # @rbs type: Integer
70
162
  # @rbs return: Attribute
163
+ # @param [Integer] type
164
+ # @return [Attribute]
71
165
  def by_type(type); BY_TYPE.fetch(type); end
72
166
  end
73
167
  end
74
- class SubflowAttribute < ::Nl::Protocols::Genl::AttributeSet
168
+ class SubflowAttribute < ::Nl::AttributeSet
75
169
  # Abstract class
76
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
170
+ class Attribute < ::Nl::AttributeSet::Attribute
77
171
  end
78
172
  class TokenRem < Attribute
79
173
  TYPE = 1
80
174
  NAME = :"token_rem"
81
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
175
+ # @private
176
+ ORDER = 0
177
+ # @private
178
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
82
179
  end
83
180
  class TokenLoc < Attribute
84
181
  TYPE = 2
85
182
  NAME = :"token_loc"
86
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
183
+ # @private
184
+ ORDER = 1
185
+ # @private
186
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
87
187
  end
88
188
  class RelwriteSeq < Attribute
89
189
  TYPE = 3
90
190
  NAME = :"relwrite_seq"
91
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
191
+ # @private
192
+ ORDER = 2
193
+ # @private
194
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
92
195
  end
93
196
  class MapSeq < Attribute
94
197
  TYPE = 4
95
198
  NAME = :"map_seq"
96
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
199
+ # @private
200
+ ORDER = 3
201
+ # @private
202
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
97
203
  end
98
204
  class MapSfseq < Attribute
99
205
  TYPE = 5
100
206
  NAME = :"map_sfseq"
101
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
207
+ # @private
208
+ ORDER = 4
209
+ # @private
210
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
102
211
  end
103
212
  class SsnOffset < Attribute
104
213
  TYPE = 6
105
214
  NAME = :"ssn_offset"
106
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
215
+ # @private
216
+ ORDER = 5
217
+ # @private
218
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
107
219
  end
108
220
  class MapDatalen < Attribute
109
221
  TYPE = 7
110
222
  NAME = :"map_datalen"
111
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
223
+ # @private
224
+ ORDER = 6
225
+ # @private
226
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
112
227
  end
113
228
  class Flags < Attribute
114
229
  TYPE = 8
115
230
  NAME = :"flags"
116
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
231
+ # @private
232
+ ORDER = 7
233
+ # @private
234
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
117
235
  end
118
236
  class IdRem < Attribute
119
237
  TYPE = 9
120
238
  NAME = :"id_rem"
121
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
239
+ # @private
240
+ ORDER = 8
241
+ # @private
242
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
122
243
  end
123
244
  class IdLoc < Attribute
124
245
  TYPE = 10
125
246
  NAME = :"id_loc"
126
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
247
+ # @private
248
+ ORDER = 9
249
+ # @private
250
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
127
251
  end
128
252
  class Pad < Attribute
129
253
  TYPE = 11
130
254
  NAME = :"pad"
131
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
255
+ # @private
256
+ ORDER = 10
257
+ # @private
258
+ DATATYPE = ::Nl::DataTypes::Pad.new()
132
259
  end
133
- # :nodoc:
260
+ # @private
134
261
  BY_NAME = Ractor.make_shareable({:"token_rem" => TokenRem, :"token_loc" => TokenLoc, :"relwrite_seq" => RelwriteSeq, :"map_seq" => MapSeq, :"map_sfseq" => MapSfseq, :"ssn_offset" => SsnOffset, :"map_datalen" => MapDatalen, :"flags" => Flags, :"id_rem" => IdRem, :"id_loc" => IdLoc, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
135
- # :nodoc:
262
+ # @private
136
263
  BY_TYPE = Ractor.make_shareable({1 => TokenRem, 2 => TokenLoc, 3 => RelwriteSeq, 4 => MapSeq, 5 => MapSfseq, 6 => SsnOffset, 7 => MapDatalen, 8 => Flags, 9 => IdRem, 10 => IdLoc, 11 => Pad}) #: Hash[::Integer, Attribute]
264
+ # @rbs return: ::Integer
265
+ # @return [Integer]
266
+ # @see TokenRem
267
+ def token_rem; self[:"token_rem"]&.value; end
268
+ # @rbs return: ::Integer
269
+ # @return [Integer]
270
+ # @see TokenLoc
271
+ def token_loc; self[:"token_loc"]&.value; end
272
+ # @rbs return: ::Integer
273
+ # @return [Integer]
274
+ # @see RelwriteSeq
275
+ def relwrite_seq; self[:"relwrite_seq"]&.value; end
276
+ # @rbs return: ::Integer
277
+ # @return [Integer]
278
+ # @see MapSeq
279
+ def map_seq; self[:"map_seq"]&.value; end
280
+ # @rbs return: ::Integer
281
+ # @return [Integer]
282
+ # @see MapSfseq
283
+ def map_sfseq; self[:"map_sfseq"]&.value; end
284
+ # @rbs return: ::Integer
285
+ # @return [Integer]
286
+ # @see SsnOffset
287
+ def ssn_offset; self[:"ssn_offset"]&.value; end
288
+ # @rbs return: ::Integer
289
+ # @return [Integer]
290
+ # @see MapDatalen
291
+ def map_datalen; self[:"map_datalen"]&.value; end
292
+ # @rbs return: ::Integer
293
+ # @return [Integer]
294
+ # @see Flags
295
+ def flags; self[:"flags"]&.value; end
296
+ # @rbs return: ::Integer
297
+ # @return [Integer]
298
+ # @see IdRem
299
+ def id_rem; self[:"id_rem"]&.value; end
300
+ # @rbs return: ::Integer
301
+ # @return [Integer]
302
+ # @see IdLoc
303
+ def id_loc; self[:"id_loc"]&.value; end
137
304
  class << self
138
305
  # Looks up Attribute class by name.
139
- #--
140
306
  # @rbs name: Symbol
141
307
  # @rbs return: Attribute
308
+ # @param [Symbol] name
309
+ # @return [Attribute]
142
310
  def by_name(name); BY_NAME.fetch(name); end
143
311
  # Looks up Attribute class by type value.
144
- #--
145
312
  # @rbs type: Integer
146
313
  # @rbs return: Attribute
314
+ # @param [Integer] type
315
+ # @return [Attribute]
147
316
  def by_type(type); BY_TYPE.fetch(type); end
148
317
  end
149
318
  end
150
- class Endpoint < ::Nl::Protocols::Genl::AttributeSet
319
+ class Endpoint < ::Nl::AttributeSet
151
320
  # Abstract class
152
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
321
+ class Attribute < ::Nl::AttributeSet::Attribute
153
322
  end
154
323
  class Addr < Attribute
155
324
  TYPE = 1
156
325
  NAME = :"addr"
326
+ # @private
327
+ ORDER = 0
157
328
  end
158
- # :nodoc:
329
+ # @private
159
330
  BY_NAME = Ractor.make_shareable({:"addr" => Addr}) #: Hash[::Symbol, Attribute]
160
- # :nodoc:
331
+ # @private
161
332
  BY_TYPE = Ractor.make_shareable({1 => Addr}) #: Hash[::Integer, Attribute]
333
+ # @rbs return: AttributeSets::Address
334
+ # @return [AttributeSets::Address]
335
+ # @see Addr
336
+ def addr; self[:"addr"]&.value; end
162
337
  class << self
163
338
  # Looks up Attribute class by name.
164
- #--
165
339
  # @rbs name: Symbol
166
340
  # @rbs return: Attribute
341
+ # @param [Symbol] name
342
+ # @return [Attribute]
167
343
  def by_name(name); BY_NAME.fetch(name); end
168
344
  # Looks up Attribute class by type value.
169
- #--
170
345
  # @rbs type: Integer
171
346
  # @rbs return: Attribute
347
+ # @param [Integer] type
348
+ # @return [Attribute]
172
349
  def by_type(type); BY_TYPE.fetch(type); end
173
350
  end
174
351
  end
175
- class Attr < ::Nl::Protocols::Genl::AttributeSet
352
+ class Attr < ::Nl::AttributeSet
176
353
  # Abstract class
177
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
354
+ class Attribute < ::Nl::AttributeSet::Attribute
178
355
  end
179
356
  class Addr < Attribute
180
357
  TYPE = 1
181
358
  NAME = :"addr"
359
+ # @private
360
+ ORDER = 0
182
361
  end
183
362
  class RcvAddAddrs < Attribute
184
363
  TYPE = 2
185
364
  NAME = :"rcv_add_addrs"
186
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
365
+ # @private
366
+ ORDER = 1
367
+ # @private
368
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
187
369
  end
188
370
  class Subflows < Attribute
189
371
  TYPE = 3
190
372
  NAME = :"subflows"
191
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
373
+ # @private
374
+ ORDER = 2
375
+ # @private
376
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
192
377
  end
193
378
  class Token < Attribute
194
379
  TYPE = 4
195
380
  NAME = :"token"
196
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
381
+ # @private
382
+ ORDER = 3
383
+ # @private
384
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
197
385
  end
198
386
  class LocId < Attribute
199
387
  TYPE = 5
200
388
  NAME = :"loc_id"
201
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
389
+ # @private
390
+ ORDER = 4
391
+ # @private
392
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
202
393
  end
203
394
  class AddrRemote < Attribute
204
395
  TYPE = 6
205
396
  NAME = :"addr_remote"
397
+ # @private
398
+ ORDER = 5
206
399
  end
207
- # :nodoc:
400
+ # @private
208
401
  BY_NAME = Ractor.make_shareable({:"addr" => Addr, :"rcv_add_addrs" => RcvAddAddrs, :"subflows" => Subflows, :"token" => Token, :"loc_id" => LocId, :"addr_remote" => AddrRemote}) #: Hash[::Symbol, Attribute]
209
- # :nodoc:
402
+ # @private
210
403
  BY_TYPE = Ractor.make_shareable({1 => Addr, 2 => RcvAddAddrs, 3 => Subflows, 4 => Token, 5 => LocId, 6 => AddrRemote}) #: Hash[::Integer, Attribute]
404
+ # @rbs return: AttributeSets::Address
405
+ # @return [AttributeSets::Address]
406
+ # @see Addr
407
+ def addr; self[:"addr"]&.value; end
408
+ # @rbs return: ::Integer
409
+ # @return [Integer]
410
+ # @see RcvAddAddrs
411
+ def rcv_add_addrs; self[:"rcv_add_addrs"]&.value; end
412
+ # @rbs return: ::Integer
413
+ # @return [Integer]
414
+ # @see Subflows
415
+ def subflows; self[:"subflows"]&.value; end
416
+ # @rbs return: ::Integer
417
+ # @return [Integer]
418
+ # @see Token
419
+ def token; self[:"token"]&.value; end
420
+ # @rbs return: ::Integer
421
+ # @return [Integer]
422
+ # @see LocId
423
+ def loc_id; self[:"loc_id"]&.value; end
424
+ # @rbs return: AttributeSets::Address
425
+ # @return [AttributeSets::Address]
426
+ # @see AddrRemote
427
+ def addr_remote; self[:"addr_remote"]&.value; end
211
428
  class << self
212
429
  # Looks up Attribute class by name.
213
- #--
214
430
  # @rbs name: Symbol
215
431
  # @rbs return: Attribute
432
+ # @param [Symbol] name
433
+ # @return [Attribute]
216
434
  def by_name(name); BY_NAME.fetch(name); end
217
435
  # Looks up Attribute class by type value.
218
- #--
219
436
  # @rbs type: Integer
220
437
  # @rbs return: Attribute
438
+ # @param [Integer] type
439
+ # @return [Attribute]
221
440
  def by_type(type); BY_TYPE.fetch(type); end
222
441
  end
223
442
  end
224
- class EventAttr < ::Nl::Protocols::Genl::AttributeSet
443
+ class EventAttr < ::Nl::AttributeSet
225
444
  # Abstract class
226
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
445
+ class Attribute < ::Nl::AttributeSet::Attribute
227
446
  end
228
447
  class Token < Attribute
229
448
  TYPE = 1
230
449
  NAME = :"token"
231
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
450
+ # @private
451
+ ORDER = 0
452
+ # @private
453
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
232
454
  end
233
455
  class Family < Attribute
234
456
  TYPE = 2
235
457
  NAME = :"family"
236
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
458
+ # @private
459
+ ORDER = 1
460
+ # @private
461
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
237
462
  end
238
463
  class LocId < Attribute
239
464
  TYPE = 3
240
465
  NAME = :"loc_id"
241
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
466
+ # @private
467
+ ORDER = 2
468
+ # @private
469
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
242
470
  end
243
471
  class RemId < Attribute
244
472
  TYPE = 4
245
473
  NAME = :"rem_id"
246
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
474
+ # @private
475
+ ORDER = 3
476
+ # @private
477
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
247
478
  end
248
479
  class Saddr4 < Attribute
249
480
  TYPE = 5
250
481
  NAME = :"saddr4"
251
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
482
+ # @private
483
+ ORDER = 4
484
+ # @private
485
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
252
486
  end
253
487
  class Saddr6 < Attribute
254
488
  TYPE = 6
255
489
  NAME = :"saddr6"
256
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
490
+ # @private
491
+ ORDER = 5
492
+ # @private
493
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
257
494
  end
258
495
  class Daddr4 < Attribute
259
496
  TYPE = 7
260
497
  NAME = :"daddr4"
261
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
498
+ # @private
499
+ ORDER = 6
500
+ # @private
501
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
262
502
  end
263
503
  class Daddr6 < Attribute
264
504
  TYPE = 8
265
505
  NAME = :"daddr6"
266
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
506
+ # @private
507
+ ORDER = 7
508
+ # @private
509
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
267
510
  end
268
511
  class Sport < Attribute
269
512
  TYPE = 9
270
513
  NAME = :"sport"
271
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
514
+ # @private
515
+ ORDER = 8
516
+ # @private
517
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
272
518
  end
273
519
  class Dport < Attribute
274
520
  TYPE = 10
275
521
  NAME = :"dport"
276
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
522
+ # @private
523
+ ORDER = 9
524
+ # @private
525
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
277
526
  end
278
527
  class Backup < Attribute
279
528
  TYPE = 11
280
529
  NAME = :"backup"
281
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
530
+ # @private
531
+ ORDER = 10
532
+ # @private
533
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
282
534
  end
283
535
  class Error < Attribute
284
536
  TYPE = 12
285
537
  NAME = :"error"
286
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
538
+ # @private
539
+ ORDER = 11
540
+ # @private
541
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
287
542
  end
288
543
  class Flags < Attribute
289
544
  TYPE = 13
290
545
  NAME = :"flags"
291
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
546
+ # @private
547
+ ORDER = 12
548
+ # @private
549
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
292
550
  end
293
551
  class Timeout < Attribute
294
552
  TYPE = 14
295
553
  NAME = :"timeout"
296
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
554
+ # @private
555
+ ORDER = 13
556
+ # @private
557
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
297
558
  end
298
559
  class IfIdx < Attribute
299
560
  TYPE = 15
300
561
  NAME = :"if_idx"
301
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
562
+ # @private
563
+ ORDER = 14
564
+ # @private
565
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
302
566
  end
303
567
  class ResetReason < Attribute
304
568
  TYPE = 16
305
569
  NAME = :"reset_reason"
306
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
570
+ # @private
571
+ ORDER = 15
572
+ # @private
573
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
307
574
  end
308
575
  class ResetFlags < Attribute
309
576
  TYPE = 17
310
577
  NAME = :"reset_flags"
311
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
578
+ # @private
579
+ ORDER = 16
580
+ # @private
581
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
312
582
  end
583
+ # Deprecated: use 'flags'
313
584
  class ServerSide < Attribute
314
585
  TYPE = 18
315
586
  NAME = :"server_side"
316
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
587
+ # @private
588
+ ORDER = 17
589
+ # @private
590
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
317
591
  end
318
- # :nodoc:
592
+ # @private
319
593
  BY_NAME = Ractor.make_shareable({:"token" => Token, :"family" => Family, :"loc_id" => LocId, :"rem_id" => RemId, :"saddr4" => Saddr4, :"saddr6" => Saddr6, :"daddr4" => Daddr4, :"daddr6" => Daddr6, :"sport" => Sport, :"dport" => Dport, :"backup" => Backup, :"error" => Error, :"flags" => Flags, :"timeout" => Timeout, :"if_idx" => IfIdx, :"reset_reason" => ResetReason, :"reset_flags" => ResetFlags, :"server_side" => ServerSide}) #: Hash[::Symbol, Attribute]
320
- # :nodoc:
594
+ # @private
321
595
  BY_TYPE = Ractor.make_shareable({1 => Token, 2 => Family, 3 => LocId, 4 => RemId, 5 => Saddr4, 6 => Saddr6, 7 => Daddr4, 8 => Daddr6, 9 => Sport, 10 => Dport, 11 => Backup, 12 => Error, 13 => Flags, 14 => Timeout, 15 => IfIdx, 16 => ResetReason, 17 => ResetFlags, 18 => ServerSide}) #: Hash[::Integer, Attribute]
596
+ # @rbs return: ::Integer
597
+ # @return [Integer]
598
+ # @see Token
599
+ def token; self[:"token"]&.value; end
600
+ # @rbs return: ::Integer
601
+ # @return [Integer]
602
+ # @see Family
603
+ def family; self[:"family"]&.value; end
604
+ # @rbs return: ::Integer
605
+ # @return [Integer]
606
+ # @see LocId
607
+ def loc_id; self[:"loc_id"]&.value; end
608
+ # @rbs return: ::Integer
609
+ # @return [Integer]
610
+ # @see RemId
611
+ def rem_id; self[:"rem_id"]&.value; end
612
+ # @rbs return: ::Integer
613
+ # @return [Integer]
614
+ # @see Saddr4
615
+ def saddr4; self[:"saddr4"]&.value; end
616
+ # @rbs return: ::String
617
+ # @return [String]
618
+ # @see Saddr6
619
+ def saddr6; self[:"saddr6"]&.value; end
620
+ # @rbs return: ::Integer
621
+ # @return [Integer]
622
+ # @see Daddr4
623
+ def daddr4; self[:"daddr4"]&.value; end
624
+ # @rbs return: ::String
625
+ # @return [String]
626
+ # @see Daddr6
627
+ def daddr6; self[:"daddr6"]&.value; end
628
+ # @rbs return: ::Integer
629
+ # @return [Integer]
630
+ # @see Sport
631
+ def sport; self[:"sport"]&.value; end
632
+ # @rbs return: ::Integer
633
+ # @return [Integer]
634
+ # @see Dport
635
+ def dport; self[:"dport"]&.value; end
636
+ # @rbs return: ::Integer
637
+ # @return [Integer]
638
+ # @see Backup
639
+ def backup; self[:"backup"]&.value; end
640
+ # @rbs return: ::Integer
641
+ # @return [Integer]
642
+ # @see Error
643
+ def error; self[:"error"]&.value; end
644
+ # @rbs return: ::Integer
645
+ # @return [Integer]
646
+ # @see Flags
647
+ def flags; self[:"flags"]&.value; end
648
+ # @rbs return: ::Integer
649
+ # @return [Integer]
650
+ # @see Timeout
651
+ def timeout; self[:"timeout"]&.value; end
652
+ # @rbs return: ::Integer
653
+ # @return [Integer]
654
+ # @see IfIdx
655
+ def if_idx; self[:"if_idx"]&.value; end
656
+ # @rbs return: ::Integer
657
+ # @return [Integer]
658
+ # @see ResetReason
659
+ def reset_reason; self[:"reset_reason"]&.value; end
660
+ # @rbs return: ::Integer
661
+ # @return [Integer]
662
+ # @see ResetFlags
663
+ def reset_flags; self[:"reset_flags"]&.value; end
664
+ # Deprecated: use 'flags'
665
+ # @rbs return: ::Integer
666
+ # @return [Integer]
667
+ # @see ServerSide
668
+ def server_side; self[:"server_side"]&.value; end
322
669
  class << self
323
670
  # Looks up Attribute class by name.
324
- #--
325
671
  # @rbs name: Symbol
326
672
  # @rbs return: Attribute
673
+ # @param [Symbol] name
674
+ # @return [Attribute]
327
675
  def by_name(name); BY_NAME.fetch(name); end
328
676
  # Looks up Attribute class by type value.
329
- #--
330
677
  # @rbs type: Integer
331
678
  # @rbs return: Attribute
679
+ # @param [Integer] type
680
+ # @return [Attribute]
332
681
  def by_type(type); BY_TYPE.fetch(type); end
333
682
  end
334
683
  end
335
- Endpoint::Addr::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Address)
336
- Attr::Addr::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Address)
337
- Attr::AddrRemote::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Address)
684
+ # @private
685
+ Endpoint::Addr::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Address, selector_bindings: Ractor.make_shareable([]))
686
+ # @private
687
+ Attr::Addr::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Address, selector_bindings: Ractor.make_shareable([]))
688
+ # @private
689
+ Attr::AddrRemote::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Address, selector_bindings: Ractor.make_shareable([]))
338
690
  end
339
691
  module Messages
340
692
  # Add endpoint
341
693
  #
342
694
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
343
- class DoAddAddrRequest < ::Nl::Protocols::Genl::Message
695
+ class DoAddAddrRequest < ::Nl::Genl::Message
344
696
  TYPE = 1
345
697
  FIXED_HEADER = nil
346
698
  ATTRIBUTE_SET = AttributeSets::Endpoint
347
699
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
348
- # Gets the value of `addr` attribute in the message.
349
- #--
350
700
  # @rbs return: AttributeSets::Address
701
+ # @return [AttributeSets::Address]
702
+ # @see AttributeSets::Endpoint::Addr
351
703
  def addr; attributes[:"addr"]&.value; end
352
704
  end
353
705
  # Delete endpoint
354
706
  #
355
707
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
356
- class DoDelAddrRequest < ::Nl::Protocols::Genl::Message
708
+ class DoDelAddrRequest < ::Nl::Genl::Message
357
709
  TYPE = 2
358
710
  FIXED_HEADER = nil
359
711
  ATTRIBUTE_SET = AttributeSets::Endpoint
360
712
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
361
- # Gets the value of `addr` attribute in the message.
362
- #--
363
713
  # @rbs return: AttributeSets::Address
714
+ # @return [AttributeSets::Address]
715
+ # @see AttributeSets::Endpoint::Addr
364
716
  def addr; attributes[:"addr"]&.value; end
365
717
  end
366
718
  # Get endpoint information
367
- class DoGetAddrRequest < ::Nl::Protocols::Genl::Message
719
+ class DoGetAddrRequest < ::Nl::Genl::Message
368
720
  TYPE = 3
369
721
  FIXED_HEADER = nil
370
722
  ATTRIBUTE_SET = AttributeSets::Attr
371
723
  ATTRIBUTES = Ractor.make_shareable(%i[addr token])
372
- # Gets the value of `addr` attribute in the message.
373
- #--
374
724
  # @rbs return: AttributeSets::Address
725
+ # @return [AttributeSets::Address]
726
+ # @see AttributeSets::Attr::Addr
375
727
  def addr; attributes[:"addr"]&.value; end
376
- # Gets the value of `token` attribute in the message.
377
- #--
378
728
  # @rbs return: ::Integer
729
+ # @return [Integer]
730
+ # @see AttributeSets::Attr::Token
379
731
  def token; attributes[:"token"]&.value; end
380
732
  end
381
733
  # Get endpoint information
382
- class DoGetAddrReply < ::Nl::Protocols::Genl::Message
734
+ class DoGetAddrReply < ::Nl::Genl::Message
383
735
  TYPE = 3
384
736
  FIXED_HEADER = nil
385
737
  ATTRIBUTE_SET = AttributeSets::Attr
386
738
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
387
- # Gets the value of `addr` attribute in the message.
388
- #--
389
739
  # @rbs return: AttributeSets::Address
740
+ # @return [AttributeSets::Address]
741
+ # @see AttributeSets::Attr::Addr
390
742
  def addr; attributes[:"addr"]&.value; end
391
743
  end
392
744
  # Get endpoint information
393
- class DumpGetAddrRequest < ::Nl::Protocols::Genl::Message
745
+ class DumpGetAddrRequest < ::Nl::Genl::Message
394
746
  TYPE = 3
395
747
  FIXED_HEADER = nil
396
748
  ATTRIBUTE_SET = AttributeSets::Attr
397
749
  ATTRIBUTES = Ractor.make_shareable(%i[])
398
750
  end
399
751
  # Get endpoint information
400
- class DumpGetAddrReply < ::Nl::Protocols::Genl::Message
752
+ class DumpGetAddrReply < ::Nl::Genl::Message
401
753
  TYPE = 3
402
754
  FIXED_HEADER = nil
403
755
  ATTRIBUTE_SET = AttributeSets::Attr
404
756
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
405
- # Gets the value of `addr` attribute in the message.
406
- #--
407
757
  # @rbs return: AttributeSets::Address
758
+ # @return [AttributeSets::Address]
759
+ # @see AttributeSets::Attr::Addr
408
760
  def addr; attributes[:"addr"]&.value; end
409
761
  end
410
762
  # Flush addresses
411
763
  #
412
764
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
413
- class DoFlushAddrsRequest < ::Nl::Protocols::Genl::Message
765
+ class DoFlushAddrsRequest < ::Nl::Genl::Message
414
766
  TYPE = 4
415
767
  FIXED_HEADER = nil
416
768
  ATTRIBUTE_SET = AttributeSets::Endpoint
417
769
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
418
- # Gets the value of `addr` attribute in the message.
419
- #--
420
770
  # @rbs return: AttributeSets::Address
771
+ # @return [AttributeSets::Address]
772
+ # @see AttributeSets::Endpoint::Addr
421
773
  def addr; attributes[:"addr"]&.value; end
422
774
  end
423
775
  # Set protocol limits
424
776
  #
425
777
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
426
- class DoSetLimitsRequest < ::Nl::Protocols::Genl::Message
778
+ class DoSetLimitsRequest < ::Nl::Genl::Message
427
779
  TYPE = 5
428
780
  FIXED_HEADER = nil
429
781
  ATTRIBUTE_SET = AttributeSets::Attr
430
782
  ATTRIBUTES = Ractor.make_shareable(%i[rcv_add_addrs subflows])
431
- # Gets the value of `rcv-add-addrs` attribute in the message.
432
- #--
433
783
  # @rbs return: ::Integer
784
+ # @return [Integer]
785
+ # @see AttributeSets::Attr::RcvAddAddrs
434
786
  def rcv_add_addrs; attributes[:"rcv_add_addrs"]&.value; end
435
- # Gets the value of `subflows` attribute in the message.
436
- #--
437
787
  # @rbs return: ::Integer
788
+ # @return [Integer]
789
+ # @see AttributeSets::Attr::Subflows
438
790
  def subflows; attributes[:"subflows"]&.value; end
439
791
  end
440
792
  # Get protocol limits
441
- class DoGetLimitsRequest < ::Nl::Protocols::Genl::Message
793
+ class DoGetLimitsRequest < ::Nl::Genl::Message
442
794
  TYPE = 6
443
795
  FIXED_HEADER = nil
444
796
  ATTRIBUTE_SET = AttributeSets::Attr
445
797
  ATTRIBUTES = Ractor.make_shareable(%i[rcv_add_addrs subflows])
446
- # Gets the value of `rcv-add-addrs` attribute in the message.
447
- #--
448
798
  # @rbs return: ::Integer
799
+ # @return [Integer]
800
+ # @see AttributeSets::Attr::RcvAddAddrs
449
801
  def rcv_add_addrs; attributes[:"rcv_add_addrs"]&.value; end
450
- # Gets the value of `subflows` attribute in the message.
451
- #--
452
802
  # @rbs return: ::Integer
803
+ # @return [Integer]
804
+ # @see AttributeSets::Attr::Subflows
453
805
  def subflows; attributes[:"subflows"]&.value; end
454
806
  end
455
807
  # Get protocol limits
456
- class DoGetLimitsReply < ::Nl::Protocols::Genl::Message
808
+ class DoGetLimitsReply < ::Nl::Genl::Message
457
809
  TYPE = 6
458
810
  FIXED_HEADER = nil
459
811
  ATTRIBUTE_SET = AttributeSets::Attr
460
812
  ATTRIBUTES = Ractor.make_shareable(%i[rcv_add_addrs subflows])
461
- # Gets the value of `rcv-add-addrs` attribute in the message.
462
- #--
463
813
  # @rbs return: ::Integer
814
+ # @return [Integer]
815
+ # @see AttributeSets::Attr::RcvAddAddrs
464
816
  def rcv_add_addrs; attributes[:"rcv_add_addrs"]&.value; end
465
- # Gets the value of `subflows` attribute in the message.
466
- #--
467
817
  # @rbs return: ::Integer
818
+ # @return [Integer]
819
+ # @see AttributeSets::Attr::Subflows
468
820
  def subflows; attributes[:"subflows"]&.value; end
469
821
  end
470
822
  # Change endpoint flags
471
823
  #
472
824
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
473
- class DoSetFlagsRequest < ::Nl::Protocols::Genl::Message
825
+ class DoSetFlagsRequest < ::Nl::Genl::Message
474
826
  TYPE = 7
475
827
  FIXED_HEADER = nil
476
828
  ATTRIBUTE_SET = AttributeSets::Attr
477
829
  ATTRIBUTES = Ractor.make_shareable(%i[addr token addr_remote])
478
- # Gets the value of `addr` attribute in the message.
479
- #--
480
830
  # @rbs return: AttributeSets::Address
831
+ # @return [AttributeSets::Address]
832
+ # @see AttributeSets::Attr::Addr
481
833
  def addr; attributes[:"addr"]&.value; end
482
- # Gets the value of `token` attribute in the message.
483
- #--
484
834
  # @rbs return: ::Integer
835
+ # @return [Integer]
836
+ # @see AttributeSets::Attr::Token
485
837
  def token; attributes[:"token"]&.value; end
486
- # Gets the value of `addr-remote` attribute in the message.
487
- #--
488
838
  # @rbs return: AttributeSets::Address
839
+ # @return [AttributeSets::Address]
840
+ # @see AttributeSets::Attr::AddrRemote
489
841
  def addr_remote; attributes[:"addr_remote"]&.value; end
490
842
  end
491
843
  # Announce new address
492
844
  #
493
845
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
494
- class DoAnnounceRequest < ::Nl::Protocols::Genl::Message
846
+ class DoAnnounceRequest < ::Nl::Genl::Message
495
847
  TYPE = 8
496
848
  FIXED_HEADER = nil
497
849
  ATTRIBUTE_SET = AttributeSets::Attr
498
850
  ATTRIBUTES = Ractor.make_shareable(%i[addr token])
499
- # Gets the value of `addr` attribute in the message.
500
- #--
501
851
  # @rbs return: AttributeSets::Address
852
+ # @return [AttributeSets::Address]
853
+ # @see AttributeSets::Attr::Addr
502
854
  def addr; attributes[:"addr"]&.value; end
503
- # Gets the value of `token` attribute in the message.
504
- #--
505
855
  # @rbs return: ::Integer
856
+ # @return [Integer]
857
+ # @see AttributeSets::Attr::Token
506
858
  def token; attributes[:"token"]&.value; end
507
859
  end
508
860
  # Announce removal
509
861
  #
510
862
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
511
- class DoRemoveRequest < ::Nl::Protocols::Genl::Message
863
+ class DoRemoveRequest < ::Nl::Genl::Message
512
864
  TYPE = 9
513
865
  FIXED_HEADER = nil
514
866
  ATTRIBUTE_SET = AttributeSets::Attr
515
867
  ATTRIBUTES = Ractor.make_shareable(%i[token loc_id])
516
- # Gets the value of `token` attribute in the message.
517
- #--
518
868
  # @rbs return: ::Integer
869
+ # @return [Integer]
870
+ # @see AttributeSets::Attr::Token
519
871
  def token; attributes[:"token"]&.value; end
520
- # Gets the value of `loc-id` attribute in the message.
521
- #--
522
872
  # @rbs return: ::Integer
873
+ # @return [Integer]
874
+ # @see AttributeSets::Attr::LocId
523
875
  def loc_id; attributes[:"loc_id"]&.value; end
524
876
  end
525
877
  # Create subflow
526
878
  #
527
879
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
528
- class DoSubflowCreateRequest < ::Nl::Protocols::Genl::Message
880
+ class DoSubflowCreateRequest < ::Nl::Genl::Message
529
881
  TYPE = 10
530
882
  FIXED_HEADER = nil
531
883
  ATTRIBUTE_SET = AttributeSets::Attr
532
884
  ATTRIBUTES = Ractor.make_shareable(%i[addr token addr_remote])
533
- # Gets the value of `addr` attribute in the message.
534
- #--
535
885
  # @rbs return: AttributeSets::Address
886
+ # @return [AttributeSets::Address]
887
+ # @see AttributeSets::Attr::Addr
536
888
  def addr; attributes[:"addr"]&.value; end
537
- # Gets the value of `token` attribute in the message.
538
- #--
539
889
  # @rbs return: ::Integer
890
+ # @return [Integer]
891
+ # @see AttributeSets::Attr::Token
540
892
  def token; attributes[:"token"]&.value; end
541
- # Gets the value of `addr-remote` attribute in the message.
542
- #--
543
893
  # @rbs return: AttributeSets::Address
894
+ # @return [AttributeSets::Address]
895
+ # @see AttributeSets::Attr::AddrRemote
544
896
  def addr_remote; attributes[:"addr_remote"]&.value; end
545
897
  end
546
898
  # Destroy subflow
547
899
  #
548
900
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
549
- class DoSubflowDestroyRequest < ::Nl::Protocols::Genl::Message
901
+ class DoSubflowDestroyRequest < ::Nl::Genl::Message
550
902
  TYPE = 11
551
903
  FIXED_HEADER = nil
552
904
  ATTRIBUTE_SET = AttributeSets::Attr
553
905
  ATTRIBUTES = Ractor.make_shareable(%i[addr token addr_remote])
554
- # Gets the value of `addr` attribute in the message.
555
- #--
556
906
  # @rbs return: AttributeSets::Address
907
+ # @return [AttributeSets::Address]
908
+ # @see AttributeSets::Attr::Addr
557
909
  def addr; attributes[:"addr"]&.value; end
558
- # Gets the value of `token` attribute in the message.
559
- #--
560
910
  # @rbs return: ::Integer
911
+ # @return [Integer]
912
+ # @see AttributeSets::Attr::Token
561
913
  def token; attributes[:"token"]&.value; end
562
- # Gets the value of `addr-remote` attribute in the message.
563
- #--
564
914
  # @rbs return: AttributeSets::Address
915
+ # @return [AttributeSets::Address]
916
+ # @see AttributeSets::Attr::AddrRemote
565
917
  def addr_remote; attributes[:"addr_remote"]&.value; end
566
918
  end
567
919
  end
568
920
  module Notifications
569
921
  end
922
+ # @private
570
923
  NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
571
924
  # Add endpoint
572
925
  #
573
926
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
574
- #--
575
- # @rbs (?addr: AttributeSets::Address) -> void
927
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
928
+ # @param [Hash] args
929
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
930
+ # @return [void]
931
+ # @see Messages::DoAddAddrRequest
576
932
  def do_add_addr(**args)
577
933
  exchange_message(:"do", Messages::DoAddAddrRequest, nil, args)
578
934
  end
579
935
  # Delete endpoint
580
936
  #
581
937
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
582
- #--
583
- # @rbs (?addr: AttributeSets::Address) -> void
938
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
939
+ # @param [Hash] args
940
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
941
+ # @return [void]
942
+ # @see Messages::DoDelAddrRequest
584
943
  def do_del_addr(**args)
585
944
  exchange_message(:"do", Messages::DoDelAddrRequest, nil, args)
586
945
  end
587
946
  # Get endpoint information
588
- #--
589
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer) -> Messages::DoGetAddrReply
947
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer) -> Messages::DoGetAddrReply
948
+ # @param [Hash] args
949
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
950
+ # @option args [Integer] token
951
+ # @return [Messages::DoGetAddrReply]
952
+ # @see Messages::DoGetAddrRequest
590
953
  def do_get_addr(**args)
591
954
  exchange_message(:"do", Messages::DoGetAddrRequest, Messages::DoGetAddrReply, args)
592
955
  end
593
956
  # Get endpoint information
594
- #--
595
- # @rbs () -> Enumerable[Messages::DumpGetAddrReply]
957
+ # @rbs () -> Array[Messages::DumpGetAddrReply]
596
958
  # | () { (Messages::DumpGetAddrReply) -> void } -> void
959
+ # @overload dump_get_addr(**args)
960
+ # Returns an array when no block is given.
961
+ # @param [Hash] args
962
+ # @return [Array<Messages::DumpGetAddrReply>]
963
+ # @overload dump_get_addr(**args, &block)
964
+ # Yields each reply when a block is given.
965
+ # @param [Hash] args
966
+ # @yieldparam [Messages::DumpGetAddrReply] reply
967
+ # @return [void]
968
+ # @see Messages::DumpGetAddrRequest
597
969
  def dump_get_addr(**args, &block)
598
970
  exchange_message(:"dump", Messages::DumpGetAddrRequest, Messages::DumpGetAddrReply, args, &block)
599
971
  end
600
972
  # Flush addresses
601
973
  #
602
974
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
603
- #--
604
- # @rbs (?addr: AttributeSets::Address) -> void
975
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
976
+ # @param [Hash] args
977
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
978
+ # @return [void]
979
+ # @see Messages::DoFlushAddrsRequest
605
980
  def do_flush_addrs(**args)
606
981
  exchange_message(:"do", Messages::DoFlushAddrsRequest, nil, args)
607
982
  end
608
983
  # Set protocol limits
609
984
  #
610
985
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
611
- #--
612
986
  # @rbs (?rcv_add_addrs: ::Integer, ?subflows: ::Integer) -> void
987
+ # @param [Hash] args
988
+ # @option args [Integer] rcv_add_addrs
989
+ # @option args [Integer] subflows
990
+ # @return [void]
991
+ # @see Messages::DoSetLimitsRequest
613
992
  def do_set_limits(**args)
614
993
  exchange_message(:"do", Messages::DoSetLimitsRequest, nil, args)
615
994
  end
616
995
  # Get protocol limits
617
- #--
618
996
  # @rbs (?rcv_add_addrs: ::Integer, ?subflows: ::Integer) -> Messages::DoGetLimitsReply
997
+ # @param [Hash] args
998
+ # @option args [Integer] rcv_add_addrs
999
+ # @option args [Integer] subflows
1000
+ # @return [Messages::DoGetLimitsReply]
1001
+ # @see Messages::DoGetLimitsRequest
619
1002
  def do_get_limits(**args)
620
1003
  exchange_message(:"do", Messages::DoGetLimitsRequest, Messages::DoGetLimitsReply, args)
621
1004
  end
622
1005
  # Change endpoint flags
623
1006
  #
624
1007
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
625
- #--
626
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> void
1008
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
1009
+ # @param [Hash] args
1010
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1011
+ # @option args [Integer] token
1012
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1013
+ # @return [void]
1014
+ # @see Messages::DoSetFlagsRequest
627
1015
  def do_set_flags(**args)
628
1016
  exchange_message(:"do", Messages::DoSetFlagsRequest, nil, args)
629
1017
  end
630
1018
  # Announce new address
631
1019
  #
632
1020
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
633
- #--
634
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer) -> void
1021
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer) -> void
1022
+ # @param [Hash] args
1023
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1024
+ # @option args [Integer] token
1025
+ # @return [void]
1026
+ # @see Messages::DoAnnounceRequest
635
1027
  def do_announce(**args)
636
1028
  exchange_message(:"do", Messages::DoAnnounceRequest, nil, args)
637
1029
  end
638
1030
  # Announce removal
639
1031
  #
640
1032
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
641
- #--
642
1033
  # @rbs (?token: ::Integer, ?loc_id: ::Integer) -> void
1034
+ # @param [Hash] args
1035
+ # @option args [Integer] token
1036
+ # @option args [Integer] loc_id
1037
+ # @return [void]
1038
+ # @see Messages::DoRemoveRequest
643
1039
  def do_remove(**args)
644
1040
  exchange_message(:"do", Messages::DoRemoveRequest, nil, args)
645
1041
  end
646
1042
  # Create subflow
647
1043
  #
648
1044
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
649
- #--
650
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> void
1045
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
1046
+ # @param [Hash] args
1047
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1048
+ # @option args [Integer] token
1049
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1050
+ # @return [void]
1051
+ # @see Messages::DoSubflowCreateRequest
651
1052
  def do_subflow_create(**args)
652
1053
  exchange_message(:"do", Messages::DoSubflowCreateRequest, nil, args)
653
1054
  end
654
1055
  # Destroy subflow
655
1056
  #
656
1057
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
657
- #--
658
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> void
1058
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> void
1059
+ # @param [Hash] args
1060
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1061
+ # @option args [Integer] token
1062
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1063
+ # @return [void]
1064
+ # @see Messages::DoSubflowDestroyRequest
659
1065
  def do_subflow_destroy(**args)
660
1066
  exchange_message(:"do", Messages::DoSubflowDestroyRequest, nil, args)
661
1067
  end
662
1068
  class AsyncOperations
663
- # :nodoc:
1069
+ # @private
664
1070
  def initialize(&exchange)
665
1071
  @exchange = exchange
666
1072
  end
667
1073
  # Add endpoint
668
1074
  #
669
1075
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
670
- #--
671
- # @rbs (?addr: AttributeSets::Address) -> ::Nl::Async::Future[void]
1076
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1077
+ # @param [Hash] args
1078
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1079
+ # @return [Nl::Async::Future<void>]
1080
+ # @see Messages::DoAddAddrRequest
672
1081
  def do_add_addr(**args)
673
1082
  @exchange.call(:"do", Messages::DoAddAddrRequest, nil, args)
674
1083
  end
675
1084
  # Delete endpoint
676
1085
  #
677
1086
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
678
- #--
679
- # @rbs (?addr: AttributeSets::Address) -> ::Nl::Async::Future[void]
1087
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1088
+ # @param [Hash] args
1089
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1090
+ # @return [Nl::Async::Future<void>]
1091
+ # @see Messages::DoDelAddrRequest
680
1092
  def do_del_addr(**args)
681
1093
  @exchange.call(:"do", Messages::DoDelAddrRequest, nil, args)
682
1094
  end
683
1095
  # Get endpoint information
684
- #--
685
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer) -> ::Nl::Async::Future[Messages::DoGetAddrReply]
1096
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer) -> ::Nl::Async::Future[Messages::DoGetAddrReply]
1097
+ # @param [Hash] args
1098
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1099
+ # @option args [Integer] token
1100
+ # @return [Nl::Async::Future<Messages::DoGetAddrReply>]
1101
+ # @see Messages::DoGetAddrRequest
686
1102
  def do_get_addr(**args)
687
1103
  @exchange.call(:"do", Messages::DoGetAddrRequest, Messages::DoGetAddrReply, args)
688
1104
  end
689
1105
  # Get endpoint information
690
- #--
691
1106
  # @rbs () -> ::Nl::Async::Stream[Messages::DumpGetAddrReply]
1107
+ # @param [Hash] args
1108
+ # @return [Nl::Async::Stream<Messages::DumpGetAddrReply>]
1109
+ # @see Messages::DumpGetAddrRequest
692
1110
  def dump_get_addr(**args)
693
1111
  @exchange.call(:"dump", Messages::DumpGetAddrRequest, Messages::DumpGetAddrReply, args)
694
1112
  end
695
1113
  # Flush addresses
696
1114
  #
697
1115
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
698
- #--
699
- # @rbs (?addr: AttributeSets::Address) -> ::Nl::Async::Future[void]
1116
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1117
+ # @param [Hash] args
1118
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1119
+ # @return [Nl::Async::Future<void>]
1120
+ # @see Messages::DoFlushAddrsRequest
700
1121
  def do_flush_addrs(**args)
701
1122
  @exchange.call(:"do", Messages::DoFlushAddrsRequest, nil, args)
702
1123
  end
703
1124
  # Set protocol limits
704
1125
  #
705
1126
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
706
- #--
707
1127
  # @rbs (?rcv_add_addrs: ::Integer, ?subflows: ::Integer) -> ::Nl::Async::Future[void]
1128
+ # @param [Hash] args
1129
+ # @option args [Integer] rcv_add_addrs
1130
+ # @option args [Integer] subflows
1131
+ # @return [Nl::Async::Future<void>]
1132
+ # @see Messages::DoSetLimitsRequest
708
1133
  def do_set_limits(**args)
709
1134
  @exchange.call(:"do", Messages::DoSetLimitsRequest, nil, args)
710
1135
  end
711
1136
  # Get protocol limits
712
- #--
713
1137
  # @rbs (?rcv_add_addrs: ::Integer, ?subflows: ::Integer) -> ::Nl::Async::Future[Messages::DoGetLimitsReply]
1138
+ # @param [Hash] args
1139
+ # @option args [Integer] rcv_add_addrs
1140
+ # @option args [Integer] subflows
1141
+ # @return [Nl::Async::Future<Messages::DoGetLimitsReply>]
1142
+ # @see Messages::DoGetLimitsRequest
714
1143
  def do_get_limits(**args)
715
1144
  @exchange.call(:"do", Messages::DoGetLimitsRequest, Messages::DoGetLimitsReply, args)
716
1145
  end
717
1146
  # Change endpoint flags
718
1147
  #
719
1148
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
720
- #--
721
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> ::Nl::Async::Future[void]
1149
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1150
+ # @param [Hash] args
1151
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1152
+ # @option args [Integer] token
1153
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1154
+ # @return [Nl::Async::Future<void>]
1155
+ # @see Messages::DoSetFlagsRequest
722
1156
  def do_set_flags(**args)
723
1157
  @exchange.call(:"do", Messages::DoSetFlagsRequest, nil, args)
724
1158
  end
725
1159
  # Announce new address
726
1160
  #
727
1161
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
728
- #--
729
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer) -> ::Nl::Async::Future[void]
1162
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer) -> ::Nl::Async::Future[void]
1163
+ # @param [Hash] args
1164
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1165
+ # @option args [Integer] token
1166
+ # @return [Nl::Async::Future<void>]
1167
+ # @see Messages::DoAnnounceRequest
730
1168
  def do_announce(**args)
731
1169
  @exchange.call(:"do", Messages::DoAnnounceRequest, nil, args)
732
1170
  end
733
1171
  # Announce removal
734
1172
  #
735
1173
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
736
- #--
737
1174
  # @rbs (?token: ::Integer, ?loc_id: ::Integer) -> ::Nl::Async::Future[void]
1175
+ # @param [Hash] args
1176
+ # @option args [Integer] token
1177
+ # @option args [Integer] loc_id
1178
+ # @return [Nl::Async::Future<void>]
1179
+ # @see Messages::DoRemoveRequest
738
1180
  def do_remove(**args)
739
1181
  @exchange.call(:"do", Messages::DoRemoveRequest, nil, args)
740
1182
  end
741
1183
  # Create subflow
742
1184
  #
743
1185
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
744
- #--
745
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> ::Nl::Async::Future[void]
1186
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1187
+ # @param [Hash] args
1188
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1189
+ # @option args [Integer] token
1190
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1191
+ # @return [Nl::Async::Future<void>]
1192
+ # @see Messages::DoSubflowCreateRequest
746
1193
  def do_subflow_create(**args)
747
1194
  @exchange.call(:"do", Messages::DoSubflowCreateRequest, nil, args)
748
1195
  end
749
1196
  # Destroy subflow
750
1197
  #
751
1198
  # Requires CAP_NET_ADMIN in the user namespace owning the network namespace.
752
- #--
753
- # @rbs (?addr: AttributeSets::Address, ?token: ::Integer, ?addr_remote: AttributeSets::Address) -> ::Nl::Async::Future[void]
1199
+ # @rbs (?addr: (AttributeSets::Address | ::Hash[::Symbol, untyped]), ?token: ::Integer, ?addr_remote: (AttributeSets::Address | ::Hash[::Symbol, untyped])) -> ::Nl::Async::Future[void]
1200
+ # @param [Hash] args
1201
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr
1202
+ # @option args [Integer] token
1203
+ # @option args [AttributeSets::Address, Hash<Symbol, Object>] addr_remote
1204
+ # @return [Nl::Async::Future<void>]
1205
+ # @see Messages::DoSubflowDestroyRequest
754
1206
  def do_subflow_destroy(**args)
755
1207
  @exchange.call(:"do", Messages::DoSubflowDestroyRequest, nil, args)
756
1208
  end
757
1209
  end
758
1210
  # Returns the asynchronous operation facade for this family.
759
- #--
760
1211
  # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
1212
+ # @param [::Integer, nil] stream_capacity
1213
+ # @return [AsyncOperations]
761
1214
  def async(stream_capacity: nil)
762
1215
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
763
1216
  build_async_facade(AsyncOperations, stream_capacity:)