package udpr type ackManager struct { ackNum uint32 pending bool } func newAckManager() *ackManager { return &ackManager{} } func (am *ackManager) setPending(k uint32) { am.ackNum = k am.pending = true } func (am *ackManager) isPending(k uint32) bool { return am.pending && (am.ackNum == k) } func (am *ackManager) clearPending(k uint32) { if am.pending && (am.ackNum == k) { am.pending = false } }