code: func (s *Server) Stop() {
  	defer log.WithoutContext().Info("Server stopped")
  
  	var wg sync.WaitGroup
  	for epn, ep := range s.entryPointsTCP {
  		wg.Add(1)
  		go func(entryPointName string, entryPoint *TCPEntryPoint) {
  			ctx := log.With(context.Background(), log.Str(log.EntryPointName, entryPointName))
  			defer wg.Done()
  
  			entryPoint.Shutdown(ctx)
  
  			log.FromContext(ctx).Debugf("Entry point %s closed", entryPointName)
  		}(epn, ep)
  	}
  	wg.Wait()
  	s.stopChan <- true
  }
docs: // Stop stops the server