tx.go 533 B

12345678910111213141516171819202122232425
  1. package kcp
  2. import (
  3. "sync/atomic"
  4. "github.com/pkg/errors"
  5. "golang.org/x/net/ipv4"
  6. )
  7. func (s *UDPSession) defaultTx(txqueue []ipv4.Message) {
  8. nbytes := 0
  9. npkts := 0
  10. for k := range txqueue {
  11. if n, err := s.conn.WriteTo(txqueue[k].Buffers[0], txqueue[k].Addr); err == nil {
  12. nbytes += n
  13. npkts++
  14. xmitBuf.Put(txqueue[k].Buffers[0])
  15. } else {
  16. s.notifyWriteError(errors.WithStack(err))
  17. break
  18. }
  19. }
  20. atomic.AddUint64(&DefaultSnmp.OutPkts, uint64(npkts))
  21. atomic.AddUint64(&DefaultSnmp.OutBytes, uint64(nbytes))
  22. }