| 
					
				 | 
			
			
				@@ -14,34 +14,48 @@ be plugged in. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ### Name Syntax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 A fully qualified, self contained name used for gRPC channel construction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-uses the syntax: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-scheme://authority/endpoint_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Here, `scheme` indicates the name-system to be used. Currently, we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-support the following schemes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- `dns` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- `ipv4` (IPv4 address) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- `ipv6` (IPv6 address) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- `unix` (path to unix domain socket -- unix systems only) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+uses URI syntax as defined in [RFC 3986](https://tools.ietf.org/html/rfc3986). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The URI scheme indicates what resolver plugin to use.  If no scheme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+prefix is specified or the scheme is unknown, the `dns` scheme is used 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+by default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The URI path indicates the name to be resolved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Most gRPC implementations support the following URI schemes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- `dns:[//authority/]host[:port]` -- DNS (default) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - `host` is the host to resolve via DNS. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - `port` is the port to return for each address.  If not specified, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    443 is used (but some implementations default to 80 for insecure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    channels). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - `authority` indicates the DNS server to use, although this is only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supported by some implementations.  (In C-core, the default DNS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resolver does not support this, but the c-ares based resolver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports specifying this in the form "IP:port".) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- `unix:path` or `unix://absolute_path` -- Unix domain sockets (Unix systems only) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - `path` indicates the location of the desired socket. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - In the first form, the path may be relative or absolute; in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    second form, the path must be absolute (i.e., there will actually be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    three slashes, two prior to the path and another to begin the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    absolute path). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The following schemes are supported by the gRPC C-core implementation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+but may not be supported in other languages: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- `ipv4:address[:port][,address[:port],...]` -- IPv4 addresses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - Can specify multiple comma-delimited addresses of the form `address[:port]`: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - `address` is the IPv4 address to use. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - `port` is the port to use.  If not specified, 443 is used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- `ipv6:address[:port][,address[:port],...]` -- IPv6 addresses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - Can specify multiple comma-delimited addresses of the form `address[:port]`: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - `address` is the IPv6 address to use. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - `port` is the port to use.  If not specified, 443 is used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 In the future, additional schemes such as `etcd` could be added. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-The `authority` indicates some scheme-specific bootstrap information, e.g., 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-for DNS, the authority may include the IP[:port] of the DNS server to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use. Often, a DNS name may be used as the authority, since the ability to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-resolve DNS names is already built into all gRPC client libraries. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Finally, the `endpoint_name` indicates a concrete name to be looked up 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-in a given name-system identified by the scheme and the authority. The 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-syntax of the endpoint name is dictated by the scheme in use. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ### Resolver Plugins 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 The gRPC client library will use the specified scheme to pick the right 
			 |