MCPcopy
hub / github.com/OpenNHP/opennhp / SendPacket

Method SendPacket

endpoints/server/udpserver.go:346–361  ·  view source on GitHub ↗
(pkt *core.Packet, conn *UdpConn)

Source from the content-addressed store, hash-verified

344}
345
346func (s *UdpServer) SendPacket(pkt *core.Packet, conn *UdpConn) (n int, err error) {
347 defer func() {
348 atomic.AddUint64(&s.stats.totalSendBytes, uint64(n))
349 atomic.StoreInt64(&conn.ConnData.LastLocalSendTime, time.Now().UnixNano())
350
351 if !pkt.KeepAfterSend {
352 s.device.ReleasePoolPacket(pkt)
353 }
354 }()
355
356 pktType := core.HeaderTypeToString(pkt.HeaderType)
357 log.Info("Send [%s] packet (%s -> %s), %d bytes", pktType, s.listenAddr.String(), conn.ConnData.RemoteAddr.String(), len(pkt.Content))
358 log.Evaluate("Send [%s] packet (%s -> %s), %d bytes", pktType, s.listenAddr.String(), conn.ConnData.RemoteAddr.String(), len(pkt.Content))
359
360 return s.listenConn.WriteToUDP(pkt.Content, conn.ConnData.RemoteAddr)
361}
362
363func (s *UdpServer) recvPacketRoutine() {
364 defer s.wg.Done()

Callers 1

connectionRoutineMethod · 0.95

Calls 2

ReleasePoolPacketMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected