Skip to content

Commit 66fb29f

Browse files
committed
Clean code and tests
1 parent 4c7e3df commit 66fb29f

2 files changed

Lines changed: 23 additions & 25 deletions

File tree

channel.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ type ChannelOptions struct {
9898
// It requires underlying operating system support MPTCP.
9999
// If EnableMPTCP is false or no MPTCP support, the connection will use normal TCP.
100100
// It's set to false by default.
101+
// If a Dialer is passed as option, this value will be ignored.
101102
EnableMPTCP bool
102103

103104
// The reporter to use for reporting stats for this channel.
@@ -414,15 +415,9 @@ func (ch *Channel) ListenAndServe(hostPort string) error {
414415
return errAlreadyListening
415416
}
416417

417-
var l net.Listener
418-
var err error
419-
if ch.enableMPTCP {
420-
lc := &net.ListenConfig{}
421-
lc.SetMultipathTCP(true)
422-
l, err = lc.Listen(context.Background(), "tcp", hostPort)
423-
} else {
424-
l, err = net.Listen("tcp", hostPort)
425-
}
418+
lc := net.ListenConfig{}
419+
lc.SetMultipathTCP(ch.enableMPTCP)
420+
l, err := lc.Listen(context.Background(), "tcp", hostPort)
426421
if err != nil {
427422
mutable.RUnlock()
428423
return err

channel_test.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,27 @@ func toMap(fields LogFields) map[string]interface{} {
4444
}
4545

4646
func TestNewChannel(t *testing.T) {
47-
ch, err := NewChannel("svc", &ChannelOptions{
48-
ProcessName: "pname",
49-
})
50-
require.NoError(t, err, "NewChannel failed")
51-
52-
assert.Equal(t, LocalPeerInfo{
53-
ServiceName: "svc",
54-
PeerInfo: PeerInfo{
47+
for _, mptcp := range []bool{true, false} {
48+
ch, err := NewChannel("svc", &ChannelOptions{
5549
ProcessName: "pname",
56-
HostPort: ephemeralHostPort,
57-
IsEphemeral: true,
58-
Version: PeerVersion{
59-
Language: "go",
60-
LanguageVersion: strings.TrimPrefix(runtime.Version(), "go"),
61-
TChannelVersion: VersionInfo,
50+
EnableMPTCP: mptcp,
51+
})
52+
require.NoError(t, err, "NewChannel failed")
53+
54+
assert.Equal(t, LocalPeerInfo{
55+
ServiceName: "svc",
56+
PeerInfo: PeerInfo{
57+
ProcessName: "pname",
58+
HostPort: ephemeralHostPort,
59+
IsEphemeral: true,
60+
Version: PeerVersion{
61+
Language: "go",
62+
LanguageVersion: strings.TrimPrefix(runtime.Version(), "go"),
63+
TChannelVersion: VersionInfo,
64+
},
6265
},
63-
},
64-
}, ch.PeerInfo(), "Wrong local peer info")
66+
}, ch.PeerInfo(), "Wrong local peer info")
67+
}
6568
}
6669

6770
func TestNewChannelEnableMPTCP(t *testing.T) {

0 commit comments

Comments
 (0)