Varlink is een kerninterface en protocol dat zowel door mensen als machines gemakkelijk te lezen is.
Interface Varlink combineert klassieke UNIX-commando-opties, tekstformaten voor STDIN/OUT/ERROR, handleidingen, service-metadata en is gelijkwaardig aan bestandsdescriptor FD3. Varlink beschikbaar is uit elke programmeeromgeving.
De Varlink-interface bepaalt, welke methoden worden geïmplementeerd en hoe. Elke methode heeft een naam en gedefinieerde invoer- en uitvoerparameters.
Er is een mogelijkheid voor documentatie door opmerkingen toe te voegen vóór het te documenteren stuk code.
In in het protocol Varlink codeert alle berichten als JSON-objecten en eindigt met een NUL-byte.
De service beantwoordt aanvragen in dezelfde volgorde als ze zijn ontvangen - berichten worden nooit gemultiplexed. Toch kunnen meerdere aanvragen in een verbinding worden gehouden voor pipelining.
Een veelvoorkomend geval is een eenvoudige methode-aanroep met een enkele respons. In sommige andere gevallen kan de server helemaal niet antwoorden of meerdere keren op één aanroep reageren. Een meer gedetailleerde beschrijving hier.
Bron: linux.org.ru
