mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
| // Copyright 2016 The Go Authors. All rights reserved.
 | |
| // Use of this source code is governed by a BSD-style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| // Package nettrace contains internal hooks for tracing activity in
 | |
| // the net package. This package is purely internal for use by the
 | |
| // net/http/httptrace package and has no stable API exposed to end
 | |
| // users.
 | |
| package nettrace
 | |
| 
 | |
| // TraceKey is a context.Context Value key. Its associated value should
 | |
| // be a *Trace struct.
 | |
| type TraceKey struct{}
 | |
| 
 | |
| // LookupIPAltResolverKey is a context.Context Value key used by tests to
 | |
| // specify an alternate resolver func.
 | |
| // It is not exposed to outsider users. (But see issue 12503)
 | |
| // The value should be the same type as lookupIP:
 | |
| //     func lookupIP(ctx context.Context, host string) ([]IPAddr, error)
 | |
| type LookupIPAltResolverKey struct{}
 | |
| 
 | |
| // Trace contains a set of hooks for tracing events within
 | |
| // the net package. Any specific hook may be nil.
 | |
| type Trace struct {
 | |
| 	// DNSStart is called with the hostname of a DNS lookup
 | |
| 	// before it begins.
 | |
| 	DNSStart func(name string)
 | |
| 
 | |
| 	// DNSDone is called after a DNS lookup completes (or fails).
 | |
| 	// The coalesced parameter is whether singleflight de-dupped
 | |
| 	// the call. The addrs are of type net.IPAddr but can't
 | |
| 	// actually be for circular dependency reasons.
 | |
| 	DNSDone func(netIPs []interface{}, coalesced bool, err error)
 | |
| 
 | |
| 	// ConnectStart is called before a Dial, excluding Dials made
 | |
| 	// during DNS lookups. In the case of DualStack (Happy Eyeballs)
 | |
| 	// dialing, this may be called multiple times, from multiple
 | |
| 	// goroutines.
 | |
| 	ConnectStart func(network, addr string)
 | |
| 
 | |
| 	// ConnectStart is called after a Dial with the results, excluding
 | |
| 	// Dials made during DNS lookups. It may also be called multiple
 | |
| 	// times, like ConnectStart.
 | |
| 	ConnectDone func(network, addr string, err error)
 | |
| }
 |