Varlink to interfejs rdzeni i protokół, który jest czytelny zarówno dla ludzi, jak i maszyn.
Interfejs Varlink łączy klasyczne opcje wiersza poleceń UNIX, tekstowe formaty STDIN/OUT/ERROR, strony podręcznika oraz metadane i jest równoważny deskryptorowi pliku FD3. Varlink dostępne z dowolnego środowiska programistycznego.
Interfejs Varlink określa, jakie metody będą realizowane i w jaki sposób. Każda z metod ma swoją nazwę oraz określone parametry wejściowe i wyjściowe.
Istnieje możliwość dokumentacji poprzez dodanie komentarzy przed dokumentowanym kawałkiem kodu.
W protokole Varlink wszystkie wiadomości są kodowane jako obiekty JSON i kończą się bajtem NUL.
Usługa odpowiada na zapytania w tej samej kolejności, w jakiej zostały otrzymane – wiadomości nigdy nie są multiplikowane. Niemniej jednak, kilka zapytań może być ustawionych w kolejce w połączeniu, aby umożliwić przetwarzanie w trybie potokowym.
Typowym przypadkiem jest prosty wywołanie metody z jedną odpowiedzią. W niektórych innych przypadkach serwer może nie odpowiedzieć wcale lub odpowiedzieć kilka razy na jedno wywołanie. Bardziej szczegółowy opis tutaj.
Źródło: linux.org.ru
