class SvcbRrPatch::SvcParams::Ech::ECHConfig
Constants
- ECHConfigContents
Attributes
echconfigcontents[R]
version[R]
Public Class Methods
decode_vectors(octet)
click to toggle source
@return [Array of ECHConfig]
# File lib/svcb_rr_patch/svc_params/ech.rb, line 54 def self.decode_vectors(octet) i = 0 echconfigs = [] while i < octet.length raise ::Resolv::DNS::DecodeError if i + 4 > octet.length version = octet.slice(i, 2) length = octet.slice(i + 2, 2).unpack1('n') i += 4 raise ::Resolv::DNS::DecodeError if i + length > octet.length echconfig_contents = ECHConfigContents.decode(octet.slice(i, length)) i += length echconfigs << new(version, echconfig_contents) end raise ::Resolv::DNS::DecodeError if i != octet.length echconfigs end
new(version, echconfig_contents)
click to toggle source
@param version [String] @param echconfig_contents [ECHConfigContents]
# File lib/svcb_rr_patch/svc_params/ech.rb, line 43 def initialize(version, echconfig_contents) @version = version @echconfig_contents = echconfig_contents end
Public Instance Methods
encode()
click to toggle source
@return [String]
# File lib/svcb_rr_patch/svc_params/ech.rb, line 49 def encode @version + @echconfig_contents.encode.then { |s| [s.length].pack('n') + s } end