code: func (s *StanServer) sendAvailableMessages(c *channel, sub *subState) {
  	sub.Lock()
  	for nextSeq := sub.LastSent + 1; !sub.stalled; nextSeq++ {
  		nextMsg := s.getNextMsg(c, &nextSeq, &sub.LastSent)
  		if nextMsg == nil {
  			break
  		}
  		if sent, sendMore := s.sendMsgToSub(sub, nextMsg, honorMaxInFlight); !sent || !sendMore {
  			break
  		}
  	}
  	sub.Unlock()
  }
docs: // Send any messages that are ready to be sent that have been queued.