Fix indentation; Provide context on ListEndpointsForService
# Service Mesh Controller Interfaces
-This document outlines the [Go Interfaces](https://golang.org/doc/effective_go.html#interfaces) needed for
-the development of the Service Mesh Controller in this repo.
-The goal of the document is to design and reach consensus before the reMeshTopologytive code is written.
+This document defines the [Go Interfaces](https://golang.org/doc/effective_go.html#interfaces) needed for
+the development of the Service Mesh Controller in [this repository](https://github.com/deislabs/smc).
-Assumptions made in this document:
+The document is written with the following assumptions in mind:
- One-to-one relationship between Envoy proxy and a Service (no two services behind the same Envoy)
- One-to-one relationship between an Endpoint (port and IP) and an Envoy proxy
@@ -194,7 +193,13 @@ In the sample `ListEndpoints` implementation, the Service Catalog loops over a l
for _, provider in catalog.ListEndpointProviders() {
```
-For each `provider` registered in the
+For each `provider` registered in the Service Catalog, we would invoke `ListEndpointsForService`.
+The function will be provided a `ServiceProvider`, which implements functions required by the
+provider to resolve an SMI defined service into a vendor specific resource identifier. For example
+`ListEndpointsForService` invoked on the Azure EndpointsProvider, would evaluate
+`ListAzureLocators` for an SMI-defined service (`webservice`) and will retrieve the URI of an
+[Azure VM](https://azure.microsoft.com/en-us/services/virtual-machines/) hosting an instance of
+the service (`/resource/subscriptions/e3f0/resourceGroups/mesh-rg/providers/Microsoft.Compute/virtualMachineScaleSets/baz`).
##### Interface:
```go
