Giter Site home page Giter Site logo

Comments (6)

jajanet avatar jajanet commented on August 25, 2024 1

Was this addressed in #217? Maybe we can update this issue to needing to add thread-safety, optimizations, or other measures if so?

from opentelemetry-cpp.

SamuelMarks avatar SamuelMarks commented on August 25, 2024 1

I started working on a common interface last quarter, but it's very much a WiP:

libacquire

C89 License

The core for your package manager, minus the dependency graph components. Features: download, verify, and extract.

By default—for HTTP, HTTPS, and FTP—this uses libfetch on FreeBSD; wininet on Windows; and libcurl everywhere else. Override with -DUSE_LIBCURL or -DUSE_LIBFETCH.

By default—for MD5, SHA256, SHA512—this uses wincrypt on Windows; and OpenSSL everywhere else. Note that on macOS this uses the builtin CommonCrypto/CommonDigest.h header, and on OpenBSD it uses LibreSSL; however in both of these cases it's the OpenSSL API with different headers. Override with -DUSE_OPENSSL.

Mentioning here not so that you follow my implementation, but rather the reverse; the common interface you come up with I'll [likely follow and] implement for Solaris, Linux, BSD, macOS, and Windows.

(though maybe you'll be inspired by the idea of libacquire in defining said interface)

from opentelemetry-cpp.

kyessenov avatar kyessenov commented on August 25, 2024

Please consider adding nghttp2-based stacks (https://github.com/envoyproxy/envoy) to the list.

from opentelemetry-cpp.

SamuelMarks avatar SamuelMarks commented on August 25, 2024

You might want to start from https://github.com/aws/aws-sdk-cpp/tree/master/aws-cpp-sdk-core/source/http

from opentelemetry-cpp.

lalitb avatar lalitb commented on August 25, 2024

#217 brings only http server, we still are missing client part. So either we can modify it to work as thread-safe, optimised http client/server library, or else use header only c++11 cross platform library like https://github.com/yhirose/cpp-httplib. Anyway, I can own this if no one is working on it. We would anyway need it for zipkin support.

from opentelemetry-cpp.

kyessenov avatar kyessenov commented on August 25, 2024

I think we want a portable interface but not an implementation. Consider the use case of compiling this library to Wasm and substituting regular POSIX calls with Wasm externs. Anything that talks over the network cannot be directly translated to Wasm.

from opentelemetry-cpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.