[webkit-changes] [WebKit/WebKit] 640a8a: Use NetworkTransportStream to represent all WebTra...

Commit Queue noreply at github.com
Wed Dec 4 13:07:09 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 640a8a4349a937a95cbe1c8f02df6366707d3e9a
      https://github.com/WebKit/WebKit/commit/640a8a4349a937a95cbe1c8f02df6366707d3e9a
  Author: Ankshit Jain <ankshit_jain at apple.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp
    R Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h
    A Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.cpp
    A Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.h
    R Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm
    R Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm
    R Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm
    M Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm
    A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportStreamCocoa.mm
    M Source/WebKit/Sources.txt
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Use NetworkTransportStream to represent all WebTransport streams in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=284014
rdar://140890615

Reviewed by Alex Christensen.

NetworkTransportBidirectionalStream, NetworkTransportSendStream, and NetworkTransportReceiveStream are used to define different WebTransport stream types. This is better handled using a single NetworkTransportStream type to handle the underlying WebTransport stream on the network.

The streams share two operations, read and write, where the stream type decides which operations are permitted. This abstraction allows the network to be hooked to a single stream type, reducing the duplication of read and write operations across 3 stream types.

* Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp: Removed.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h: Removed.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp: Removed.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h: Removed.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp:
(WebKit::NetworkTransportSession::sendStreamSendBytes):
(WebKit::NetworkTransportSession::streamSendBytes):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.cpp: Renamed from Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp.
(WebKit::NetworkTransportStream::NetworkTransportStream):
(WebKit::NetworkTransportStream::sendBytes):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.h: Renamed from Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h.
(WebKit::NetworkTransportStream::create):
(WebKit::NetworkTransportStream::identifier const):
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm: Removed.
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm: Removed.
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm:
(WebKit::NetworkTransportSession::createBidirectionalStream):
(WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream):
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportStreamCocoa.mm: Renamed from Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm.
(WebKit::NetworkTransportStream::NetworkTransportStream):
(WebKit::NetworkTransportStream::sendBytes):
(WebKit::NetworkTransportStream::receiveLoop):
* Source/WebKit/Sources.txt:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/287358@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list