[#86787] [Ruby trunk Feature#14723] [WIP] sleepy GC — ko1@...

Issue #14723 has been updated by ko1 (Koichi Sasada).

13 messages 2018/05/01
[#86790] Re: [Ruby trunk Feature#14723] [WIP] sleepy GC — Eric Wong <normalperson@...> 2018/05/01

ko1@atdot.net wrote:

[#87095] [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase — ko1@...

Issue #14767 has been updated by ko1 (Koichi Sasada).

9 messages 2018/05/17

[ruby-core:87141] [Ruby trunk Feature#14771] Add method to create DNS resource from data string

From: shevegen@...
Date: 2018-05-17 13:16:20 UTC
List: ruby-core #87141
Issue #14771 has been updated by shevegen (Robert A. Heiler).


Although I myself have not used/needed Resolv::DNS::Resource yet,
if the proposed #create method does not conflict with anything in
Resolv, then I think it is fine to add it. (If I understood it correctly
then this is mostly alias-related, with the toplevel create doing a 
bit more than just an alias, so it should not be a problem I think?)

Documentation should not be forgotten for the new toplevel create 
method, if it is accepted by matz/the ruby core team.

----------------------------------------
Feature #14771: Add method to create DNS resource from data string
https://bugs.ruby-lang.org/issues/14771#change-72132

* Author: ioquatix (Samuel Williams)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I recently played around with DNS over HTTPS.

I found that it's a little bit tricky to generate the appropriate resource using the Resolv::DNS::Resource hierarchy.

Here is what my code ended up:

```
        if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
          if klass < Resolv::DNS::Resource::DomainName
            resource = klass.new(Resolv::DNS::Name.create(answer["data"]))
          else
            resource = klass.new(answer["data"])
          end
```

It would be nice to have a simpler interface, e.g.

```
        if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
          klass.create(answer["data"])
        end
```

In this case, the `Resource#create` method would take a data string and convert it to a name if required.

The base resource class could just have `alias create new`, while the `DomainName` class could have:

```
def create(data)
  self.new(Name.create(data))
end
```

Or something like that.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next