crossdock/server/server.go
func (s *Server) Start() error {
	if s.HostPort == "" {
		s.HostPort = ":" + common.DefaultServerPort
	}
	channelOpts := &tchannel.ChannelOptions{
		Tracer: s.Tracer,
	}
	ch, err := tchannel.NewChannel(common.DefaultServiceName, channelOpts)
	if err != nil {
		return err
	}

	if err := ch.ListenAndServe(s.HostPort); err != nil {
		return err
	}
	s.HostPort = ch.PeerInfo().HostPort // override in case it was ":0"
	log.Printf("Started tchannel server at %s\n", s.HostPort)
	s.Ch = ch
	return nil
}
func (s *Server) Start() error {
	if s.HostPort == "" {
		s.HostPort = ":" + common.DefaultServerPort
	}
	channelOpts := &tchannel.ChannelOptions{
		Tracer: s.Tracer,
	}
	ch, err := tchannel.NewChannel(common.DefaultServiceName, channelOpts)
	if err != nil {
		return err
	}

	if err := ch.ListenAndServe(s.HostPort); err != nil {
		return err
	}
	s.HostPort = ch.PeerInfo().HostPort // override in case it was ":0"
	log.Printf("Started tchannel server at %s\n", s.HostPort)
	s.Ch = ch
	return nil
}
// Start starts the test server called by the Client and other upstream servers.