Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for Comments: puffin_http: use async local task #89

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from

Commits on Nov 20, 2022

  1. Configuration menu
    Copy the full SHA
    5cf6477 View commit details
    Browse the repository at this point in the history
  2. split client connection and frame send management

    use Arc RwLock container to share clients list
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    2f8e96a View commit details
    Browse the repository at this point in the history
  3. rename 'puffin server impl' into 'puffin server send'

    this reflect change done when split management
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    00e23a1 View commit details
    Browse the repository at this point in the history
  4. add async with async-std

    used for client connection and frame send
    first introduction, not used ideally
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    d4c5dad View commit details
    Browse the repository at this point in the history
  5. split puffin-server thread into tasks

    ps-connect : to manage client connection
    ps-send : to manage frame send
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    be61dd1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6a2f2d5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ce6bd07 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    014e6ca View commit details
    Browse the repository at this point in the history
  9. use async Arc and RwLock instead of sync

    from async-std instead of from std
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    bb481e6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    31c0146 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c00ffa6 View commit details
    Browse the repository at this point in the history
  12. remove use of retain in PuffinServerSend::send

    this remove use of async function in retain.
    Async function don't work in retain with local executor.
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    c015d39 View commit details
    Browse the repository at this point in the history
  13. Add log for error in client loop

    print in log::info when packet channel receiver return an error
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    740c7bd View commit details
    Browse the repository at this point in the history
  14. add some profile scope and function markers

    - "accept_client"
    - send_to_client
    - "write frame to client"
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    b9474bb View commit details
    Browse the repository at this point in the history
  15. use dedicated LocalExecutor for puffin_http server

    this avoid to spawn multiple threads for management of async task of
    puffin server. Now all puffin server task are executed in the same
    thread, a dedecated thread.
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    8bc1a04 View commit details
    Browse the repository at this point in the history
  16. replace channel from async-std to flume

    flume have better perf ?
    gwen-lg committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    8865f2f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8979bc3 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2022

  1. Clean: change unneeded Arc into simple RC

    Allowed because all task run in an unique Thread
    gwen-lg committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    17bc2c5 View commit details
    Browse the repository at this point in the history
  2. remove useless atomic to client variable

    Use Rc & RefCell instead of Arc & RwLock.
    With LocalExecutor, no need of Sync & Send trait
    gwen-lg committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    0c52886 View commit details
    Browse the repository at this point in the history
  3. remove useless atomic to executor variable

    Use Rc instead of Arc.
    With LocalExecutor, no need of Sync & Send trait
    gwen-lg committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    ae55b4b View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2022

  1. Configuration menu
    Copy the full SHA
    7d6c5f9 View commit details
    Browse the repository at this point in the history