code: func Listen(address string, tr *Transport) (*Listener, error) {
  	var err error
  	l := &Listener{Transport: tr}
  	config, err := tr.getConfig()
  	if err != nil {
  		return nil, err
  	}
  
  	l.Listener, err = tls.Listen("tcp", address, config)
  	return l, err
  }
docs: // Listen sets up a new server. If an error is returned, it means
  // the server isn't ready to begin listening.