New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: x/net/route, vendor/golang.org/x/net/route: new package #14724
Comments
Do you mean that the existing |
There's no route package yet. At this moment some (reusable) code fragments exist in syscall package. I'm sure I don't understand the difference between vendoring and duplication. It's just a thought that placing code on golang.org/x/net repository instead of standard library might be helpful for people who want to maintain each operating system's package/port collections. Do you have any suggestion on how to make a open-closed package, which is open for dependency management and closed for dependency hell. |
Oh, well if there's a
Can you be more specific? |
Sure, two questions. Which is the preferable repository for the new package, standard or x/net? If the latter, what would be the maintenance policy of the branches on x/net? Is that the same as standard repository? (Looks like so, x/tools and x/net have release-branch.go1.x branches) |
Is it for general use? Then
Packages in the sub-repositories are expected to be relatively stable unless marked otherwise, but they do not fall under the Go 1 compatibility promise. Heavily under-development or speculative packages sometimes live in the The So I guess the question is: who is the package for? |
The primary customer is the net package of standard library. Others would be external packages that need to read routing information from BSD kernels without worrying about the gaps between platforms, kernel versions. I think that placing the code at golang.org/x/net/route and having a duplicate at src/internal/golang.org/x/net/route like x/net/http2/hpack makes sense. What do you think? |
Yeah, I think it makes sense to put it in What are the immediate and ultimate impacts on the |
Yes, reducing maintenance cost is the main benefit. Additional benefit would be subtle until standard library provides QUIC-like super all-in-one userland transport protocol. |
This seems fine. I approve. |
CL https://golang.org/cl/22446 mentions this issue. |
CL https://golang.org/cl/22451 mentions this issue. |
CL https://golang.org/cl/22450 mentions this issue. |
CL https://golang.org/cl/22452 mentions this issue. |
This change introduces a package that provides the basic manipulation of routing facilities on BSD variants. Unlike the existing APIs in syscall package of standard library, the package tries to provide operating system and its architecture agnostic APIs. At present, the package supports any version of Darwin, any version of DragonFly BSD, FreeBSD 7 through 11, NetBSD 6 and above, and OpenBSD 5.6 and above. Updates golang/go#14724. Change-Id: Id964ea22dec491ddac3776e3a8c8c10f140f96ac Reviewed-on: https://go-review.googlesource.com/22446 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
golang.org/x/net/route becomes vendor/golang.org/x/net/route. At git rev 30be488 (golang.org/cl/22446) Updates #14724. Change-Id: I41cfb5443aeecac4c71e843c09eb8c1d4b7413ea Reviewed-on: https://go-review.googlesource.com/22450 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Also removes unnecessary test cases for avoiding unexpected failures on newer operating systems. Updates #14724. Change-Id: I2291585d951fb70383da68293a6ac1ff3524c7f7 Reviewed-on: https://go-review.googlesource.com/22452 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Unlink Linux, BSD variants may change their kernel ABIs between major releases as reported in #7849. To follow the circumstances with minimal maintenance cost, I'd like to propose having an internal package that provides routing message/socket parsers.
Exposed APIs:
It's also fine vendoring "internal/x/golang.org/x/net/internal/route " if possible.
The text was updated successfully, but these errors were encountered: