• Home
Name Date Size #Lines LOC

..--

DIR_METADATAD06-Sep-2024454 1211

README.mdD06-Sep-20241.8 KiB3632

websocket_basic_handshake_stream.ccD06-Sep-202420 KiB568448

websocket_basic_handshake_stream.hD06-Sep-20247.1 KiB192117

websocket_basic_handshake_stream_test.ccD06-Sep-20246.8 KiB168146

websocket_basic_stream.ccD06-Sep-202420.4 KiB540425

websocket_basic_stream.hD06-Sep-202410.9 KiB277127

websocket_basic_stream_adapters.ccD06-Sep-202410.1 KiB362272

websocket_basic_stream_adapters.hD06-Sep-20248 KiB235141

websocket_basic_stream_adapters_test.ccD06-Sep-202465.1 KiB1,7111,363

websocket_basic_stream_test.ccD06-Sep-202441.4 KiB1,039782

websocket_channel.ccD06-Sep-202436.9 KiB1,035792

websocket_channel.hD06-Sep-202417.3 KiB410189

websocket_channel_test.ccD06-Sep-2024114.7 KiB2,8752,217

websocket_deflate_parameters.ccD06-Sep-20246.2 KiB183149

websocket_deflate_parameters.hD06-Sep-20244.8 KiB14197

websocket_deflate_parameters_test.ccD06-Sep-20249.9 KiB262211

websocket_deflate_predictor.hD06-Sep-20242.2 KiB6324

websocket_deflate_predictor_impl.ccD06-Sep-2024644 2413

websocket_deflate_predictor_impl.hD06-Sep-2024960 3420

websocket_deflate_predictor_impl_test.ccD06-Sep-2024785 3117

websocket_deflate_stream.ccD06-Sep-202414.2 KiB403352

websocket_deflate_stream.hD06-Sep-20244.6 KiB12478

websocket_deflate_stream_fuzzer.ccD06-Sep-20245.8 KiB149111

websocket_deflate_stream_test.ccD06-Sep-202450.6 KiB1,3831,202

websocket_deflater.ccD06-Sep-20244.7 KiB153102

websocket_deflater.hD06-Sep-20242.2 KiB8039

websocket_deflater_test.ccD06-Sep-20244.8 KiB138106

websocket_end_to_end_test.ccD06-Sep-202430.7 KiB781596

websocket_errors.ccD06-Sep-20241.1 KiB4226

websocket_errors.hD06-Sep-20241.9 KiB5527

websocket_errors_test.ccD06-Sep-20241.1 KiB3421

websocket_event_interface.hD06-Sep-20246.5 KiB16569

websocket_extension.ccD06-Sep-20242 KiB7450

websocket_extension.hD06-Sep-20241.8 KiB6035

websocket_extension_parser.ccD06-Sep-20243.3 KiB151118

websocket_extension_parser.hD06-Sep-20242 KiB6538

websocket_extension_parser_fuzzer.ccD06-Sep-2024459 178

websocket_extension_parser_test.ccD06-Sep-20246.2 KiB173131

websocket_extension_test.ccD06-Sep-20241.6 KiB6144

websocket_frame.ccD06-Sep-20249.2 KiB255177

websocket_frame.hD06-Sep-20247.8 KiB20781

websocket_frame_parser.ccD06-Sep-20247.4 KiB211174

websocket_frame_parser.hD06-Sep-20243.5 KiB9435

websocket_frame_parser_fuzzer.ccD06-Sep-2024864 2717

websocket_frame_parser_test.ccD06-Sep-202421 KiB585509

websocket_frame_perftest.ccD06-Sep-20242.6 KiB7957

websocket_frame_test.ccD06-Sep-202415.5 KiB376297

websocket_handshake_challenge.ccD06-Sep-2024572 2112

websocket_handshake_challenge.hD06-Sep-2024624 229

websocket_handshake_challenge_test.ccD06-Sep-2024599 2512

websocket_handshake_constants.ccD06-Sep-2024812 2513

websocket_handshake_constants.hD06-Sep-20242.1 KiB6518

websocket_handshake_request_info.ccD06-Sep-2024507 199

websocket_handshake_request_info.hD06-Sep-2024992 3519

websocket_handshake_response_info.ccD06-Sep-2024747 2716

websocket_handshake_response_info.hD06-Sep-20241.3 KiB4426

websocket_handshake_stream_base.ccD06-Sep-20245.3 KiB153124

websocket_handshake_stream_base.hD06-Sep-20247.7 KiB19095

websocket_handshake_stream_create_helper.ccD06-Sep-20242.9 KiB7961

websocket_handshake_stream_create_helper.hD06-Sep-20242.8 KiB7748

websocket_handshake_stream_create_helper_test.ccD06-Sep-202426.7 KiB619525

websocket_http2_handshake_stream.ccD06-Sep-202412.8 KiB408319

websocket_http2_handshake_stream.hD06-Sep-20247.5 KiB208126

websocket_http3_handshake_stream.ccD06-Sep-202412.3 KiB396293

websocket_http3_handshake_stream.hD06-Sep-20247 KiB197125

websocket_inflater.ccD06-Sep-20248.3 KiB284224

websocket_inflater.hD06-Sep-20244.3 KiB13466

websocket_inflater_test.ccD06-Sep-20247.1 KiB223169

websocket_quic_spdy_stream.ccD06-Sep-20241.7 KiB7152

websocket_quic_spdy_stream.hD06-Sep-20242.2 KiB6849

websocket_stream.ccD06-Sep-202419.5 KiB537410

websocket_stream.hD06-Sep-202413 KiB305137

websocket_stream_cookie_test.ccD06-Sep-202416.5 KiB519404

websocket_stream_create_test_base.ccD06-Sep-20245.5 KiB161130

websocket_stream_create_test_base.hD06-Sep-20244.1 KiB12686

websocket_stream_test.ccD06-Sep-202473.7 KiB1,8741,522

websocket_test_util.ccD06-Sep-202411.6 KiB307260

websocket_test_util.hD06-Sep-202410.5 KiB273175

README.md

1# WebSocket protocol
2
3This directory contains the implementation of
4[the WebSocket protocol](https://tools.ietf.org/html/rfc6455).
5
6## Design docs
7
8* [WebSocketBasicHandshakeStream design
9  memo](https://docs.google.com/document/d/1r7dQDA9AQBD_kOk-z-yMi0WgLQZ-5m7psMO5pYLFUL8/edit).
10  Some details have changed, but still a mostly-accurate description of
11  Chromium's current implementation.
12* [WebSocket Throttling
13  Design](https://docs.google.com/document/d/1a8sUFQsbN5uve7ziW61ATkrFr3o9A-Tiyw8ig6T3puA/edit)
14  discusses how we enforce WebSocket connection throttling. Also contains
15  detailed discussion of how WebSockets integrate with the socket pools. Dates
16  from 2014, but still mostly relevant.
17* [WebSockets over
18  HTTP/2](https://docs.google.com/document/d/1ZxaHz4j2BDMa1aI5CQHMjtFI3UxGT459pjYv4To9rFY/edit).
19  Current as of 2019 description of WebSocket over H/2 implementation.
20* [WebSocket + Network Service + WebRequest
21  API](https://docs.google.com/document/d/1L85aXX-m5NaV-g223lH7kKB2HPg6kMi1cjrDVeEptE8/edit):
22  design for how extension callbacks are called when the network service is
23  enabled.
24* [WebSocket HTTP Auth
25  Design](https://docs.google.com/document/d/129rLtf5x3hvhP5rayLiSxnEjOXS8Z7EnLJgBL4CdwjI/edit).
26  This document is very low on detail, but can serve as an overview of how auth
27  works for WebSockets.
28* [Per-renderer WebSocket
29  throttling](https://docs.google.com/document/d/1aw2oN5PKfk-1gLnBrlv1OwLA8K3-ykM2ckwX2lubTg4/edit).
30  While the algorithm described in this document is still used, the code has
31  moved around significantly due to network servicification.
32* [WebSocket Protocol Stack in
33  chrome/net](https://docs.google.com/document/d/11n3hpwb9lD9YVqnjX3OwzE_jHgTmKIqd6GvXE9bDGUg/edit).
34  Early design doc for the current implementation. Mostly of historical interest
35  only.
36