Class: Gem::Resolv::DNS::Resource::IN::ServiceBinding
- Inherits:
-
Object
- Object
- Gem::Resolv::DNS::Resource::IN::ServiceBinding
- Defined in:
- lib/rubygems/vendor/resolv/lib/resolv.rb
Overview
Common implementation for SVCB-compatible resource records.
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
The service paramters for the target host.
-
#priority ⇒ Object
readonly
The priority of this target host.
-
#target ⇒ Object
readonly
The domain name of the target host.
Class Method Summary collapse
-
.decode_rdata(msg) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#alias_mode? ⇒ Boolean
Whether this RR is in AliasMode.
-
#encode_rdata(msg) ⇒ Object
:nodoc:.
-
#initialize(priority, target, params = []) ⇒ ServiceBinding
constructor
Create a service binding resource record.
-
#service_mode? ⇒ Boolean
Whether this RR is in ServiceMode.
Constructor Details
#initialize(priority, target, params = []) ⇒ ServiceBinding
Create a service binding resource record.
2754 2755 2756 2757 2758 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2754 def initialize(priority, target, params = []) @priority = priority.to_int @target = Name.create(target) @params = SvcParams.new(params) end |
Instance Attribute Details
#params ⇒ Object (readonly)
The service paramters for the target host.
2776 2777 2778 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2776 def params @params end |
#priority ⇒ Object (readonly)
The priority of this target host.
The range is 0-65535. If set to 0, this RR is in AliasMode. Otherwise, it is in ServiceMode.
2766 2767 2768 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2766 def priority @priority end |
#target ⇒ Object (readonly)
The domain name of the target host.
2771 2772 2773 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2771 def target @target end |
Class Method Details
Instance Method Details
#alias_mode? ⇒ Boolean
Whether this RR is in AliasMode.
2781 2782 2783 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2781 def alias_mode? self.priority == 0 end |
#encode_rdata(msg) ⇒ Object
:nodoc:
2792 2793 2794 2795 2796 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2792 def encode_rdata(msg) # :nodoc: msg.put_pack("n", @priority) msg.put_name(@target, compress: false) @params.encode(msg) end |
#service_mode? ⇒ Boolean
Whether this RR is in ServiceMode.
2788 2789 2790 |
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2788 def service_mode? !alias_mode? end |