code: func (s *listenerStreamServer) Close() {
  	if s.l == nil {
  		panic("server is not currently serving")
  	}
  
  	// Mark that we've been closed.
  	atomic.StoreInt32(&s.closed, 1)
  
  	// Close our Listener. This will cause our 'Accept' goroutine to terminate.
  	s.l.Close()
  	close(s.closedC)
  	<-s.acceptFinishedC
  
  	// Close our streamParamsC to signal that we're closed. Any blocking Next will
  	// drain the channel, then return with nil.
  	close(s.streamParamsC)
  	s.l = nil
  }
docs: // Implements StreamServer.Close