github.com/chenchun/docker@v1.3.2-0.20150629222414-20467faf132b/pkg/sockets/tcp_socket.go (about)

     1  package sockets
     2  
     3  import (
     4  	"crypto/tls"
     5  	"net"
     6  
     7  	"github.com/docker/docker/pkg/listenbuffer"
     8  )
     9  
    10  func NewTcpSocket(addr string, tlsConfig *tls.Config, activate <-chan struct{}) (net.Listener, error) {
    11  	l, err := listenbuffer.NewListenBuffer("tcp", addr, activate)
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  	if tlsConfig != nil {
    16  		tlsConfig.NextProtos = []string{"http/1.1"}
    17  		l = tls.NewListener(l, tlsConfig)
    18  	}
    19  	return l, nil
    20  }