■ ■ ■ ■ ■ ■
tunnel/statistic/tracker.go
| skipped 29 lines |
30 | 30 | | manager *Manager |
31 | 31 | | } |
32 | 32 | | |
33 | | - | func NewTCPTracker(conn net.Conn, metadata *M.Metadata, manager *Manager) *tcpTracker { |
| 33 | + | func NewTCPTracker(conn net.Conn, metadata *M.Metadata, manager *Manager) net.Conn { |
34 | 34 | | id, _ := uuid.NewRandom() |
35 | 35 | | |
36 | 36 | | tt := &tcpTracker{ |
| skipped 10 lines |
47 | 47 | | |
48 | 48 | | manager.Join(tt) |
49 | 49 | | return tt |
| 50 | + | } |
| 51 | + | |
| 52 | + | // DefaultTCPTracker returns a new net.Conn(*tcpTacker) with default manager. |
| 53 | + | func DefaultTCPTracker(conn net.Conn, metadata *M.Metadata) net.Conn { |
| 54 | + | return NewTCPTracker(conn, metadata, DefaultManager) |
50 | 55 | | } |
51 | 56 | | |
52 | 57 | | func (tt *tcpTracker) ID() string { |
| skipped 28 lines |
81 | 86 | | manager *Manager |
82 | 87 | | } |
83 | 88 | | |
84 | | - | func NewUDPTracker(conn net.PacketConn, metadata *M.Metadata, manager *Manager) *udpTracker { |
| 89 | + | func NewUDPTracker(conn net.PacketConn, metadata *M.Metadata, manager *Manager) net.PacketConn { |
85 | 90 | | id, _ := uuid.NewRandom() |
86 | 91 | | |
87 | 92 | | ut := &udpTracker{ |
| skipped 10 lines |
98 | 103 | | |
99 | 104 | | manager.Join(ut) |
100 | 105 | | return ut |
| 106 | + | } |
| 107 | + | |
| 108 | + | // DefaultUDPTracker returns a new net.PacketConn(*udpTacker) with default manager. |
| 109 | + | func DefaultUDPTracker(conn net.PacketConn, metadata *M.Metadata) net.PacketConn { |
| 110 | + | return NewUDPTracker(conn, metadata, DefaultManager) |
101 | 111 | | } |
102 | 112 | | |
103 | 113 | | func (ut *udpTracker) ID() string { |
| skipped 24 lines |