Tutorial: How Anki Vector communicates? Part 3
Part 3: Remote Procedure Calls (RPCs)
In the previous tutorials of this series taht describes the technologies that Anki Vector uses to communicate, we got an introduction to protocol buffers (Part 1), and maintaining secure connections (Part 2). In this article we discuss how Remote Procedure Calls (rpcs) are defined in Anki Vector.
What is a Remote Procedure Call (RPC)?
In layman terms, a Remote Procedure Call (RPC) is a service which can be called remotely. Once an RPC is defined and advertised, clients can make use of this service over a secure network connection by using a mutually understood message format. In the case of gRPC, this mutually understood format is the protocol buffer. This article is a good reference that explains how RPCs are defined in gRPC.
What kind of RPCs does Anki Vector define?
The RPCs supported by Vector are defined in this file. Let us briefly discuss the different kinds of RPCs supported by Vector.
Unary RPCs. Unary RPCs are like remote function calls. Here is an example of the definition of an…