1.3 Overview

The Device Services Lightweight Remoting (DSLR) Protocol enables an application to call functions on and send events to a remote service over a reliable point-to-point connection. The service itself is implemented on the local/stub side of the connection (the server), and the remote/proxy side (the client) creates a proxy for that service. DSLR is direction agnostic; that is, each side of the connection can act as both a proxy for a remote service and a stub that manages calls into a local service. Both the stub and proxy are implemented by the DSLR consumer; each side has knowledge of the functions/events exposed by the service, as well as the input/output parameters for each. The following sections describe the DSLR architecture in more detail, as well as the distinction between proxy and stub.