github.com/anacrolix/torrent@v1.61.0/tracker/udp/transaction.go (about) 1 package udp 2 3 import "math/rand" 4 5 func RandomTransactionId() TransactionId { 6 return TransactionId(rand.Uint32()) 7 } 8 9 type TransactionResponseHandler func(dr DispatchedResponse) 10 11 type Transaction struct { 12 id int32 13 d *Dispatcher 14 h TransactionResponseHandler 15 } 16 17 func (t *Transaction) Id() TransactionId { 18 return t.id 19 } 20 21 func (t *Transaction) End() { 22 t.d.forgetTransaction(t.id) 23 }