code: func (s *Session) sendNoWait(hdr header) error {
  	t := timerPool.Get()
  	timer := t.(*time.Timer)
  	timer.Reset(s.config.ConnectionWriteTimeout)
  	defer func() {
  		timer.Stop()
  		select {
  		case <-timer.C:
  		default:
  		}
  		timerPool.Put(t)
  	}()
  
  	select {
  	case s.sendCh <- sendReady{Hdr: hdr}:
  		return nil
  	case <-s.shutdownCh:
  		return ErrSessionShutdown
  	case <-timer.C:
  		return ErrConnectionWriteTimeout
  	}
  }
docs: // sendNoWait does a send without waiting. Since there's the expectation that
  // the send happens right here, we enforce the connection write timeout if we
  // can't queue the header to be sent.