Live data from Hacker News

Vali, a C library for Varlink

emersion.fr

11–16 of 16 posts

Re: Vali, a C library for Varlink

#13
post #3
post #2

What does varlink do that grpc or capnproto don't offer? Hell, it doesn't even seem much batter than openapi...

The main use-case is different: gRPC and Cap'n'Proto are designed for networked servers, while D-Bus and Varlink are designed for local IPC. Varlink is a lot simpler than other alternatives.

Simpler is pretty subjective. A lot of people have already ingrained the complexity of grpc and/or capnproto. And more importantly, there are a lot of well maintained libraries for those protocols.

At the end of the day, local or remote, it is all just pushing data over sockets, no?

Re: Vali, a C library for Varlink

#14

I'm wondering why Varlink, while incredibly similar to JSON-RPC, is designed to be incompatible with it?

Linux people don't want web folks messing with their plumbing is my take lol.

More realistically, adding HTTP where it is not needed adds unnecessary complexity.

Re: Vali, a C library for Varlink

#15

So, there's another copy of CORBA. :-)

That's intentional. That's where this began. GNOME started out by implementing CORBA in a library called ORBit. It was eventually replaced by D-Bus which got more widespread usage across desktop environments and components. Eventually that was adopted at the OS level because of systemd and now they're replacing that with this. So, literally yes.

Re: Vali, a C library for Varlink

#16
post #3

Earlier quoted context omitted.

The main use-case is different: gRPC and Cap'n'Proto are designed for networked servers, while D-Bus and Varlink are designed for local IPC. Varlink is a lot simpler than other alternatives.

I've only had a cursory look at Varlink, but it almost felt too simple. In particular the lack of unsigned or sized integers. This might enf up being be fine, but it gave me pause when I looked at it previously.

Varlink exists only to be extremely simple.

The Linux ecosystem was using D-Bus for basically everything. But there was some need for IPC in early boot, before any D-Bus brokers were started.

Varlink was the answer, as a simple direct (vs DBus's broker mediated) IPC.

Post reply on HN