Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why? #2

Open
i-rinat opened this issue Sep 15, 2019 · 2 comments
Open

Why? #2

i-rinat opened this issue Sep 15, 2019 · 2 comments

Comments

@i-rinat
Copy link

i-rinat commented Sep 15, 2019

I've skimmed through the site (https://varlink.org/), but found no answer to the question in the title: Why?

I can understand that JSON is a "modern" way. Using in it kernel is fresh and exciting and everything else. But what existing issues does it solve? Why existing interfaces are not enough?

Also, what about binary data transfer? JSON is either UTF-8 or \u-encoded Unicode. What about arbitrary data transfer? Is it limited to text only? What about JSON validation?

@i-rinat
Copy link
Author

i-rinat commented Sep 15, 2019

I've just noticed that commit dates are almost a year old. This PoC was discovered by a (some) local news site, so I thought it's something recently created. Sorry for that.

Answers to the questions will be appreciated though.

@zicklag
Copy link

zicklag commented Nov 15, 2019

I was kind of interested in this too, just out of curiosity. What would be the purpose of a varlink "device"?


@i-rinat As far as being able to transfer non-JSON over varlink, I didn't look deep into it, but you can create a varlink method that supports upgrading the connection and allowing you to send arbitrary data over the connection. This is supposedly similar to the way that WebSockets work ( I don't know anything about how WebSockets work myself ).

The caveat is that once the connnection is upgraded you have to create a new connection if you want to talk JSON RPC again. Not really a problem, though. Just a usage detail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants