Closed jronak closed 1 year ago
Base: 85.29% // Head: 85.29% // Increases project coverage by +0.00%
:tada:
Coverage data is based on head (
ef4a63c
) compared to base (b63d183
). Patch coverage: 95.34% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Tchannel does not have first-class support for TLS, so we instead pass a custom dialer that internally creates a TLS connection + handshake and returns
net.Conn
back to tchannel. Each outbound must have a custom dialer with its outbound-specific TLS config. But as tchannel manages outbound connections internally, it's not possible to pass a custom dialer per connection.To get around it, Yarpc will create a new
tchannel.Channel
per outbound with a custom dialer and use it for managing outbound level TLS connections.This pull request adds outbound channel that manages a
tchannel.Channel
with custom dialer per outbound. It implementspeer.Transport
used in PeerChooser creation.Outbound integration will be done in the next pull request.
For reviewers, please review this sequence of files:
transport/tchannel/outbound_channel.go
- core implementation of channel wrappertransport/tchannel/peer.go
- accept a channel during the creation of peertransport/tchannel/transport.go
- create and manage outbound channel lifecycle.