13 func (me *dialPool) getFirst() (res DialResult) {
14 for me.left > 0 && res.Conn == nil {
21 func (me *dialPool) add(ctx context.Context, dialer Dialer) {
24 me.resCh <- DialResult{
25 dialFromSocket(ctx, dialer, me.addr),
31 func (me *dialPool) startDrainer() {
32 go me.drainAndCloseRemainingDials()
35 func (me *dialPool) drainAndCloseRemainingDials() {
37 conn := (<-me.resCh).Conn