ucall icon indicating copy to clipboard operation
ucall copied to clipboard

Feature: Add a C++ client version in the examples

Open ArashPartow opened this issue 2 years ago • 3 comments
trafficstars

Describe what you are looking for

Feature: Add a C++ client version in the examples

Can you contribute to the implementation?

  • [ ] I can contribute

Is your feature request specific to a certain interface?

It applies to everything

Contact Details

No response

Is there an existing issue for this?

  • [x] I have searched the existing issues

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

ArashPartow avatar Mar 07 '23 09:03 ArashPartow

That’s a good one! We wanted to implement one ourselves, but were not sure how to approach it.

Clients generally don’t have to be as efficient as the server code, cause they are not expected to maintain too many simultaneous connections. You can use cURL from command line or any other basic web library in any language for that.

If we were to implement an client in C/C++, we would prefer it to be as efficient as the server, and would need io-uring + compile time reflection, rather than io-uring + simd parsing. Which implies different constraints and can be a great future project if C++26 comes out with native reflection support.

ashvardanian avatar Mar 08 '23 07:03 ashvardanian

That would be a great approach, but perhaps for a first pass, I would propose something as simple as the python/go example - basically demoing the greatest amount of functionality, in the least yet most concise number of SLOC

ArashPartow avatar Mar 09 '23 00:03 ArashPartow

@ArashPartow, hey! I somehow missed this. Don't hesitate to tag me the next time 🤗

I ma not sure if a C++ example would be as helpful as C 99, but adding either should be easy. @ishkhan, can you add a short snippet to the main page README? We can polish it together for the 1.0 release.

ashvardanian avatar Sep 02 '23 09:09 ashvardanian