Varlink is a core interface and protocol that is easy to read for both humans and machines.
The PerformanceResourceTiming Varlink combines classic UNIX command line options, text formats STDIN/OUT/ERROR, man pages, service metadata, and is equivalent to the file descriptor FD3. Varlink is available from any programming environment.
The Varlink interface defines, which methods will be implemented and how. Each method has a name and specified input and output parameters.
There is an option for documentation by adding comments before the code section being documented.
In protocol In Varlink, all messages are encoded as JSON objects and end with a NUL byte.
The service responds to requests in the order they were received – messages are never multiplexed. However, multiple requests may be queued in a connection to enable pipelining.
A common case is a simple method call with a single response. In some other cases, the server may not respond at all or may respond multiple times to a single call. A more detailed description here.
Source: linux.org.ru
