Code Monkey home page Code Monkey logo

future-aio's Introduction

Fluvio Future

Futures library for Fluvio projects

Features

  • Zero Copy: Zero copy file transfer
  • Mmap: Memory mapp files.
  • Tls: Friendly TLS wrapper

Notes

Recommend using rustls_tls on macos, or installing openssl3 for building on macos w/ native_tls.

Contributing

If you'd like to contribute to the project, please read our Contributing guide.

License

This project is licensed under the Apache license.

future-aio's People

Contributors

afourcat avatar davidbeesley avatar dependabot[bot] avatar digikata avatar galibey avatar heilhead avatar matheus-consoli avatar morenol avatar nacardin avatar nicholastmosher avatar ozgrakkurt avatar pinkforest avatar sehz avatar simlay avatar vijaylaxmid avatar yzwdroid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

future-aio's Issues

zero_copy hang

if zero copy didn't completed in a first attempt, it hangs. This is due to extra offset update.

OpenSSL - Intermediate CA Trust Anchor

Following on infinyon/fluvio#2216

We may want to support partial CA "Trust anchors" that are mediated by the intermediate CA certs under another CA.

Intermediate CAs are used to compartmentalize issuance and management in certain configurations.

However managing the full client CA chain in this case would become logistically cumbersome and the industry has moved to generally accept using intermediate CAs on the client end -

This follows the default Curl and typical kubectl behaviour.

Test scope to be added:

Potentially also we need integration tests that integrate with a real k8s cluster against different setups.

Typo in public facing API

with_hostname_vertification_disabled here and with_certificate_vertification_disabled here.
verification was spelled vertification in both cases.

make sleep conform to unpin

Current implementation of sleep doesn't allow borrow which prevents use in the loop as below:

let mut sleep_ft = sleep(Duration::from_millis(10));
loop {
   select! {
          _ = &mut sleep_ft => {
                 break;
          }
    }
}

restore Windows Test

as part of 0.3.10, windows test has been disabled due to issue with certs generation. this need to be restored

add `ignore` attribute for `async_test` macro

To support ignore, attribute, we need to enhance async_test macro as below:

#[async_test(ignore)]
async fn fn_to_test

will be expanded as

#[test]
#[ignore]
fn wrapper_test_fn() {
  ... async wrapper
   
   async fn fn_test_ {
   }
}

also separate test attribute which remove unneeded for result which means you can write:

#[fluvio_future::test(ignore)]
async fn my_test() {
     assert!("a".len(),1);
}

feature: async dispatcher

Async dispatcher is simplest actor possible. It just implement async dispatch loop.
It will be added as unstable feature

non async test runner

similar to #[fluvio_future::test] but support non async function.

#[cfg(test)]
mod test {
 
     // same as cargo test but initialize logging
     #[fluvio_future::test]
     fn test_add() {
           assert_eq!(1+1,2);
     }

    // uses async runtime
     #[fluvio_future::test]
     async fn test_add() {
           assert_eq!(1+2);
    }

}

support windows

Ensure flv-future-aio compiles and run in non unix platform. Features like Zero copy should be only be enabled in the unix platforms.

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.