]> Sergey Matveev's repositories - btrtrc.git/blob - tracker/udp/transaction.go
Rewrite UDP tracker client
[btrtrc.git] / tracker / udp / transaction.go
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 }