本文整理匯總了Golang中udppacket.Packet.GetPacketType方法的典型用法代碼示例。如果您正苦於以下問題:Golang Packet.GetPacketType方法的具體用法?Golang Packet.GetPacketType怎麽用?Golang Packet.GetPacketType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類udppacket.Packet
的用法示例。
在下文中一共展示了Packet.GetPacketType方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: processRecvPacket
/*************************************************************
* 處理從tunnel收到的數據包
* - 功能:根據包的類型,處理相應的OtherTunnelId的數據包,是還沒有到
* 該數據包,還是需要重傳順便對需要確認的數據包進行確認釋放
************************************************************/
func (utNack *UT_NACK) processRecvPacket(p *udppacket.Packet) {
utNack.LOG.Println("processRecvPacket")
status := p.GetPacketType()
utNack.LOG.Println("tunnelId", p.TunnelId, "packetType", status)
/***** SEND *****/
if status&udppacket.PACK_ACK == udppacket.PACK_ACK {
utNack.LOG.Println("ack")
utNack.ackPackets(p.OtherTunnelId)
}
/***** RECV *****/
wrapper, ok := utNack.RecvMap[p.TunnelId]
if ok {
wrapper.status = WRAPPER_STATUS_RECVED
} else {
wrapper = new(PACKET_WRAPPER)
wrapper.status = WRAPPER_STATUS_RECVED
}
utNack.RecvMap[p.TunnelId] = wrapper
if p.TunnelId > utNack.maxRecvId {
utNack.maxRecvId = p.TunnelId
}
}