Varlink – é uma interface de núcleo e um protocolo que é fácil de ler tanto para humanos quanto para máquinas.
Interface Varlink combina opções clássicas de linha de comando UNIX, formatos de texto STDIN/OUT/ERROR, páginas do manual e metadados de serviço, sendo equivalente ao descritor de arquivo FD3. Varlink disponível de qualquer ambiente de programação.
A interface Varlink define, quais métodos serão implementados e como. Cada um dos métodos tem um nome e parâmetros de entrada e saída definidos.
Há a possibilidade de documentação adicionando comentários antes da parte do código a ser documentada.
Em protocolo Varlink todas as mensagens são codificadas como objetos JSON e terminam com um byte NUL.
O serviço responde às solicitações na mesma ordem em que foram recebidas – as mensagens nunca são multiplexadas. No entanto, várias solicitações podem ser colocadas em fila na conexão para permitir o processamento em pipeline.
Um caso comum é uma chamada de método simples com uma única resposta. Em alguns outros casos, o servidor pode não responder de forma alguma ou pode responder várias vezes a uma única chamada. Uma descrição mais detalhada aqui.
Fonte: linux.org.ru
