code: func (s *UDPSession) update() (interval time.Duration) {
  	s.mu.Lock()
  	waitsnd := s.kcp.WaitSnd()
  	interval = time.Duration(s.kcp.flush(false)) * time.Millisecond
  	if s.kcp.WaitSnd() < waitsnd {
  		s.notifyWriteEvent()
  	}
  	s.mu.Unlock()
  	return
  }
docs: // kcp update, returns interval for next calling