Varlink – це інтерфейс ядра та протокол, який є зручним для читання як людьми, так і машинами.
Інтерфейс Varlink поєднує в собі класичні параметри командного рядка UNIX, текстові формати STDIN/OUT/ERROR, сторінки довідкового керівництва, службові метадані та еквівалентний файловому дескриптору FD3. Varlink доступний з будь-якого середовища програмування.
Інтерфейс Varlink визначаєякі методи будуть реалізовані і як. Кожен з методів має назву і параметри введення і виведення, що задаються.
Є можливість документування шляхом додавання коментарів перед шматком коду, що документується.
В протоколі Varlink всі повідомлення кодуються як об'єкти JSON та закінчуються байтом NUL.
Сервіс відповідає на запити у тому порядку, в якому вони були отримані – повідомлення ніколи не мультиплексуються. Тим не менш, кілька запитів можуть бути поставлені в чергу у з'єднанні, щоб увімкнути конвеєрну обробку.
Найпоширенішим випадком є простий виклик методу з єдиною відповіддю. У деяких випадках сервер може не відповідати зовсім або відповісти кілька разів на один виклик. Більш детальний опис тут.
Джерело: linux.org.ru