|  | @@ -46,6 +46,8 @@
 | 
	
		
			
				|  |  |  #include "src/core/lib/iomgr/tcp_uv.h"
 | 
	
		
			
				|  |  |  #include "src/core/lib/iomgr/timer.h"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +extern int grpc_tcp_trace;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  typedef struct grpc_uv_tcp_connect {
 | 
	
		
			
				|  |  |    uv_connect_t connect_req;
 | 
	
		
			
				|  |  |    grpc_timer alarm;
 | 
	
	
		
			
				|  | @@ -70,6 +72,12 @@ static void uv_tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp,
 | 
	
		
			
				|  |  |                             grpc_error *error) {
 | 
	
		
			
				|  |  |    int done;
 | 
	
		
			
				|  |  |    grpc_uv_tcp_connect *connect = acp;
 | 
	
		
			
				|  |  | +  if (grpc_tcp_trace) {
 | 
	
		
			
				|  |  | +    const char *str = grpc_error_string(error);
 | 
	
		
			
				|  |  | +    gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: on_alarm: error=%s",
 | 
	
		
			
				|  |  | +            connect->addr_name, str);
 | 
	
		
			
				|  |  | +    grpc_error_free_string(str);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |    if (error == GRPC_ERROR_NONE) {
 | 
	
		
			
				|  |  |      /* error == NONE implies that the timer ran out, and wasn't cancelled. If
 | 
	
		
			
				|  |  |         it was cancelled, then the handler that cancelled it also should close
 | 
	
	
		
			
				|  | @@ -145,6 +153,12 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx,
 | 
	
		
			
				|  |  |    connect->resource_quota = resource_quota;
 | 
	
		
			
				|  |  |    uv_tcp_init(uv_default_loop(), connect->tcp_handle);
 | 
	
		
			
				|  |  |    connect->connect_req.data = connect;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  if (grpc_tcp_trace) {
 | 
	
		
			
				|  |  | +    gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: asynchronously connecting",
 | 
	
		
			
				|  |  | +            connect->addr_name);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    // TODO(murgatroid99): figure out what the return value here means
 | 
	
		
			
				|  |  |    uv_tcp_connect(&connect->connect_req, connect->tcp_handle,
 | 
	
		
			
				|  |  |                   (const struct sockaddr *)resolved_addr->addr,
 |