{"action":"created","issue":{"url":"https://api.github.com/repos/arangodb/arangodb/issues/2073","repository_url":"https://api.github.com/repos/arangodb/arangodb","labels_url":"https://api.github.com/repos/arangodb/arangodb/issues/2073/labels{/name}","comments_url":"https://api.github.com/repos/arangodb/arangodb/issues/2073/comments","events_url":"https://api.github.com/repos/arangodb/arangodb/issues/2073/events","html_url":"https://github.com/arangodb/arangodb/issues/2073","id":178792102,"number":2073,"title":"[Feature Request] Binary transport protocol","user":{"login":"ShadauxCat","id":284434,"avatar_url":"https://avatars.githubusercontent.com/u/284434?v=3","gravatar_id":"","url":"https://api.github.com/users/ShadauxCat","html_url":"https://github.com/ShadauxCat","followers_url":"https://api.github.com/users/ShadauxCat/followers","following_url":"https://api.github.com/users/ShadauxCat/following{/other_user}","gists_url":"https://api.github.com/users/ShadauxCat/gists{/gist_id}","starred_url":"https://api.github.com/users/ShadauxCat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShadauxCat/subscriptions","organizations_url":"https://api.github.com/users/ShadauxCat/orgs","repos_url":"https://api.github.com/users/ShadauxCat/repos","events_url":"https://api.github.com/users/ShadauxCat/events{/privacy}","received_events_url":"https://api.github.com/users/ShadauxCat/received_events","type":"User","site_admin":false},"labels":[{"id":4539382,"url":"https://api.github.com/repos/arangodb/arangodb/labels/3_Feature","name":"3_Feature","color":"02e10c","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-09-23T06:02:13Z","updated_at":"2016-11-11T09:48:39Z","closed_at":"2016-11-11T09:48:39Z","body":"I really like a lot of things about Arango, but there's one thing I really, really, REALLY want to see in it before I can even consider employing it in some of the places I'd like to... A binary transport protocol.\n\nNow that VelocyPack is integrated it seems like it would be reasonable to expose an API to directly send data over the web in that format. The main impetus for this, for me, is two fold:\n\n1) Writing extremely high-performance applications in C++, I would really like to be able to copy my binary data (particularly numeric data) directly into or out of the message without having to deal with the cost of a conversion to/from a string.\n\n2) Even more important than the first to me, floating point data conversion to and from string results in a loss of accuracy. Storing lots of floating point data, if the same value is written to string and read from it over and over again, it can result in a new value every time the format changes. Encoding floating point data in base64 or similar is an option in theory, but in practice that adds another layer of string conversions. Having an option to just send the floating point values as part of a binary message would alleviate this problem.\n\nFortunately for the case I'm using right now this isn't very important, since neither nanosecond performance nor floating point accuracy are major concerns for my current use - but the lack of a binary transport has been enough to make me pass over arango as an option for a previous project. And I foresee a lot of future cases where arango would be ideal for me, except that the problems above will end up being... well, problems.\n\nSeems like this is something that could be done over REST by just specifying Content-Type as `application/octet-stream`.\n"},"comment":{"url":"https://api.github.com/repos/arangodb/arangodb/issues/comments/259920888","html_url":"https://github.com/arangodb/arangodb/issues/2073#issuecomment-259920888","issue_url":"https://api.github.com/repos/arangodb/arangodb/issues/2073","id":259920888,"user":{"login":"dothebart","id":5013077,"avatar_url":"https://avatars.githubusercontent.com/u/5013077?v=3","gravatar_id":"","url":"https://api.github.com/users/dothebart","html_url":"https://github.com/dothebart","followers_url":"https://api.github.com/users/dothebart/followers","following_url":"https://api.github.com/users/dothebart/following{/other_user}","gists_url":"https://api.github.com/users/dothebart/gists{/gist_id}","starred_url":"https://api.github.com/users/dothebart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dothebart/subscriptions","organizations_url":"https://api.github.com/users/dothebart/orgs","repos_url":"https://api.github.com/users/dothebart/repos","events_url":"https://api.github.com/users/dothebart/events{/privacy}","received_events_url":"https://api.github.com/users/dothebart/received_events","type":"User","site_admin":false},"created_at":"2016-11-11T09:48:39Z","updated_at":"2016-11-11T09:48:39Z","body":"Exactly. ;-)"}}
{"actor":{"display_login":"dothebart"}}