Skip to content
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

[confignet] Change Transport from string to TransportType #9385

Merged
merged 23 commits into from
Mar 15, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e827df2
Change Transport from string to TransportType
TylerHelmuth Jan 24, 2024
3094f16
Changelog
TylerHelmuth Jan 24, 2024
5280d66
update names
TylerHelmuth Jan 24, 2024
68f1f55
Update enum names
TylerHelmuth Jan 29, 2024
f936981
Merge branch 'main' into confignet-transport-type
TylerHelmuth Feb 1, 2024
d6df3f2
Update config field name to TransportType
TylerHelmuth Feb 1, 2024
687ec3f
Fix tests
TylerHelmuth Feb 1, 2024
49ad71f
Apply suggestions from code review
TylerHelmuth Feb 2, 2024
631721f
Dont break user configs
TylerHelmuth Feb 2, 2024
1f8d0d0
merge upstream/main
TylerHelmuth Feb 2, 2024
aa4b6a1
Merge branch 'main' into confignet-transport-type
TylerHelmuth Feb 2, 2024
517e516
Apply feedback
TylerHelmuth Feb 12, 2024
755576b
Merge branch 'confignet-transport-type' of https://github.com/TylerHe…
TylerHelmuth Feb 12, 2024
a89b7f3
merge in upstream/main
TylerHelmuth Feb 12, 2024
3554450
Adjust Unmarshal
TylerHelmuth Feb 12, 2024
602ba2d
Revert Unmarshal change
TylerHelmuth Feb 12, 2024
44dda15
Merge in upstream/main
TylerHelmuth Feb 13, 2024
a4a33a8
implement change as a single API breaking change
TylerHelmuth Mar 13, 2024
00aea6a
Cleanup comments
TylerHelmuth Mar 13, 2024
92ec983
Merge remote-tracking branch 'upstream/main' into confignet-transport…
TylerHelmuth Mar 13, 2024
83305d4
Merge remote-tracking branch 'upstream/main' into confignet-transport…
TylerHelmuth Mar 13, 2024
7c62f5a
Fix type reference
TylerHelmuth Mar 13, 2024
21608ea
Add test for UnmarshalText
TylerHelmuth Mar 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update config field name to TransportType
  • Loading branch information
TylerHelmuth committed Feb 1, 2024
commit d6df3f2251eed8930295fa026048c3e0e6bcc7a1
23 changes: 20 additions & 3 deletions config/confignet/confignet.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,12 @@ type NetAddr struct {

// Transport to use. Known protocols are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only), "udp", "udp4" (IPv4-only),
// "udp6" (IPv6-only), "ip", "ip4" (IPv4-only), "ip6" (IPv6-only), "unix", "unixgram" and "unixpacket".
Transport TransportType `mapstructure:"transport"`
// Deprecated: [0.94.0] Use TransportType instead
Transport string `mapstructure:"transport"`

// TransportType to use. Allowed protocols are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only), "udp", "udp4" (IPv4-only),
// "udp6" (IPv6-only), "ip", "ip4" (IPv4-only), "ip6" (IPv6-only), "unix", "unixgram" and "unixpacket".
TransportType TransportType `mapstructure:"transport"`

// DialerConfig contains options for connecting to an address.
DialerConfig DialerConfig `mapstructure:"dialer"`
Expand All @@ -79,13 +84,25 @@ type NetAddr struct {
// Dial equivalent with net.Dialer's DialContext for this address.
func (na *NetAddr) Dial(ctx context.Context) (net.Conn, error) {
d := net.Dialer{Timeout: na.DialerConfig.Timeout}
return d.DialContext(ctx, string(na.Transport), na.Endpoint)

tt := string(na.TransportType)
if na.Transport != "" {
tt = na.Transport
}
bogdandrutu marked this conversation as resolved.
Show resolved Hide resolved

return d.DialContext(ctx, tt, na.Endpoint)
}

// Listen equivalent with net.ListenConfig's Listen for this address.
func (na *NetAddr) Listen(ctx context.Context) (net.Listener, error) {
bogdandrutu marked this conversation as resolved.
Show resolved Hide resolved
lc := net.ListenConfig{}
return lc.Listen(ctx, string(na.Transport), na.Endpoint)

tt := string(na.TransportType)
if na.Transport != "" {
tt = na.Transport
}

return lc.Listen(ctx, tt, na.Endpoint)
}

// TCPAddr represents a TCP endpoint address.
Expand Down
8 changes: 4 additions & 4 deletions config/confignet/confignet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import (

func TestNetAddrTimeout(t *testing.T) {
nac := &NetAddr{
Endpoint: "localhost:0",
Transport: "tcp",
Endpoint: "localhost:0",
TransportType: "tcp",
TylerHelmuth marked this conversation as resolved.
Show resolved Hide resolved
DialerConfig: DialerConfig{
Timeout: -1 * time.Second,
},
Expand Down Expand Up @@ -50,8 +50,8 @@ func TestTCPAddrTimeout(t *testing.T) {

func TestNetAddr(t *testing.T) {
nas := &NetAddr{
Endpoint: "localhost:0",
Transport: "tcp",
Endpoint: "localhost:0",
TransportType: "tcp",
TylerHelmuth marked this conversation as resolved.
Show resolved Hide resolved
}
ln, err := nas.Listen(context.Background())
assert.NoError(t, err)
Expand Down
Loading