Version 1 (modified by Jon Davis, 6 years ago) (diff)

Notes from 2018 WebKit Contributors Meeting

Last 2 years of platform/network/cURL

Basuke Suzuki

  • WinCairo two years ago (almost abandoned)
  • Curl Network layer is these wires
  • Why maintain this port?
    • Curl network layer is currently used in WinCairo
    • PlayStation downstream port uses same network layer.
    • RemoteInspector client is based on WinCairo
  • What is cURL project?
    • Open source networking library
  • What is lib curl?
    • Written in C89. Callback based.
    • Supports many protocols other than HTTP/HTTPS
    • Not optimized for HTTP in memory usage
    • Supports Auth, Cookie, Connection Cache, Proxy
    • Threaded normal name resolver or c-ares
  • Old Architecture
    • ResourceHandle
  • Current Architecture
    • Resource Handle and NetworkDataTask on main thread
    • Worker thread
      • CurlRequest, libcurl C++ wrapper, CurlRequestScheduler, Cookie DB, TLS Verification, Proxy Setting
  • HTTP/2
    • Uses libnghttp2 via lib curl (very consistent)
    • Implemented with basic support of HTTP/2 features
      • Header compression
      • Multiplexed stream
    • Features we want to support:
      • Server push
      • Resource prioritization
      • Control of the connection life
      • Cache digest
    • Want to know who to contact in Apple
      • We can collaborate on resource prioritization
    • Test environment? wpt?
  • What others Sony has done
    • WebKitTestRunner
    • Upstreaming our PlayStation port
    • AC on WinCairo