Giter Site home page Giter Site logo

Concurrent execution? about gapi-ocaml HOT 3 OPEN

astrada avatar astrada commented on June 10, 2024
Concurrent execution?

from gapi-ocaml.

Comments (3)

astrada avatar astrada commented on June 10, 2024 1

Multi-threading works. The library was written before lwt was available, so it was not considered at the time. Adding lwt support is a lot of work, because it requires rewriting everything in the continuation monad instead of the state monad. I never considered such a rewrite also because I have to support old Ubuntu distros (such as Xenial 16.04) that don't have lwt packaged. In fact, to get lwt support, you have to upgrade ocurl to at least version 0.7.0 that's available only since Bionic 18.04.

from gapi-ocaml.

astrada avatar astrada commented on June 10, 2024 1

re: use of threads, it looks maybe this bit of the google-ocamlfuse (and the use of this function elsewhere in the module) might be a good place to look for an example?

Yes, google-drive-ocamlfuse is the main user of gapi-ocaml, so what you see used there usually works.

from gapi-ocaml.

shonfeder avatar shonfeder commented on June 10, 2024

Thanks for the guidance and info!

I probably don't have the bandwidth to help for a rewrite either, but if I do make any progress in this direction I'll check in to see if you'd be interested.

re: support for older Ubuntu distros, we might try something like functorizing the relevant modules and then creating two different packages, as I think is done for some other libs like, e.g., aws:

aws-s3                   --          Ocaml library for accessing Amazon S3
aws-s3-lwt               --          Ocaml library for accessing Amazon S3 - Lwt version

re: use of threads, it looks maybe this bit of the google-ocamlfuse (and the use of this function elsewhere in the module) might be a good place to look for an example?

from gapi-ocaml.

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.