• Home
Name Date Size #Lines LOC

..--

DIR_METADATAD04-Jul-2025145 87

README.mdD04-Jul-20251.8 KiB3632

websocket_basic_handshake_stream.ccD04-Jul-202518.8 KiB539426

websocket_basic_handshake_stream.hD04-Jul-20256.9 KiB189114

websocket_basic_handshake_stream_test.ccD04-Jul-20256.8 KiB168146

websocket_basic_stream.ccD04-Jul-202515.4 KiB434339

websocket_basic_stream.hD04-Jul-20259 KiB248123

websocket_basic_stream_adapters.ccD04-Jul-202510.1 KiB363273

websocket_basic_stream_adapters.hD04-Jul-20257.9 KiB235141

websocket_basic_stream_adapters_test.ccD04-Jul-202566 KiB1,7351,381

websocket_basic_stream_test.ccD04-Jul-202545.3 KiB1,108836

websocket_channel.ccD04-Jul-202536.3 KiB1,015773

websocket_channel.hD04-Jul-202517.6 KiB415191

websocket_channel_test.ccD04-Jul-2025115.2 KiB2,8912,228

websocket_chunk_assembler.ccD04-Jul-20254.9 KiB154103

websocket_chunk_assembler.hD04-Jul-20251.5 KiB5029

websocket_deflate_parameters.ccD04-Jul-20256.2 KiB183149

websocket_deflate_parameters.hD04-Jul-20254.8 KiB14197

websocket_deflate_parameters_test.ccD04-Jul-202510.1 KiB267214

websocket_deflate_predictor.hD04-Jul-20252.2 KiB6324

websocket_deflate_predictor_impl.ccD04-Jul-2025644 2413

websocket_deflate_predictor_impl.hD04-Jul-2025960 3420

websocket_deflate_predictor_impl_test.ccD04-Jul-2025785 3117

websocket_deflate_stream.ccD04-Jul-202514.3 KiB402351

websocket_deflate_stream.hD04-Jul-20254.6 KiB12478

websocket_deflate_stream_fuzzer.ccD04-Jul-20255.8 KiB149111

websocket_deflate_stream_test.ccD04-Jul-202550.6 KiB1,3841,204

websocket_deflater.ccD04-Jul-20254.8 KiB158105

websocket_deflater.hD04-Jul-20252.2 KiB8039

websocket_deflater_test.ccD04-Jul-20254.8 KiB138106

websocket_end_to_end_test.ccD04-Jul-202535.2 KiB928707

websocket_errors.ccD04-Jul-20251.1 KiB4226

websocket_errors.hD04-Jul-20251.9 KiB5527

websocket_errors_test.ccD04-Jul-20251.1 KiB3421

websocket_event_interface.hD04-Jul-20256.6 KiB17072

websocket_extension.ccD04-Jul-20252.2 KiB8051

websocket_extension.hD04-Jul-20252 KiB6535

websocket_extension_parser.ccD04-Jul-20253.5 KiB157121

websocket_extension_parser.hD04-Jul-20251.9 KiB6336

websocket_extension_parser_fuzzer.ccD04-Jul-2025459 178

websocket_extension_parser_test.ccD04-Jul-20256.3 KiB173131

websocket_extension_test.ccD04-Jul-20252.1 KiB7254

websocket_frame.ccD04-Jul-202510.8 KiB298206

websocket_frame.hD04-Jul-20259.8 KiB256112

websocket_frame_parser.ccD04-Jul-20257.4 KiB213176

websocket_frame_parser.hD04-Jul-20253.7 KiB9734

websocket_frame_parser_fuzzer.ccD04-Jul-2025849 2717

websocket_frame_parser_test.ccD04-Jul-202521.3 KiB612532

websocket_frame_perftest.ccD04-Jul-20252.8 KiB8561

websocket_frame_test.ccD04-Jul-202518.8 KiB446348

websocket_handshake_challenge.ccD04-Jul-2025531 1910

websocket_handshake_challenge.hD04-Jul-2025624 229

websocket_handshake_challenge_test.ccD04-Jul-2025599 2512

websocket_handshake_constants.ccD04-Jul-2025812 2513

websocket_handshake_constants.hD04-Jul-20252.1 KiB6518

websocket_handshake_request_info.ccD04-Jul-2025507 199

websocket_handshake_request_info.hD04-Jul-2025992 3519

websocket_handshake_response_info.ccD04-Jul-2025747 2716

websocket_handshake_response_info.hD04-Jul-20251.3 KiB4426

websocket_handshake_stream_base.ccD04-Jul-20255.8 KiB167137

websocket_handshake_stream_base.hD04-Jul-20257.8 KiB19295

websocket_handshake_stream_create_helper.ccD04-Jul-20252.9 KiB7861

websocket_handshake_stream_create_helper.hD04-Jul-20252.7 KiB7647

websocket_handshake_stream_create_helper_test.ccD04-Jul-202527.7 KiB639545

websocket_http2_handshake_stream.ccD04-Jul-202512.4 KiB399313

websocket_http2_handshake_stream.hD04-Jul-20257.3 KiB205123

websocket_http3_handshake_stream.ccD04-Jul-202512 KiB391290

websocket_http3_handshake_stream.hD04-Jul-20256.8 KiB194122

websocket_inflater.ccD04-Jul-20258.4 KiB289227

websocket_inflater.hD04-Jul-20254.3 KiB13466

websocket_inflater_test.ccD04-Jul-20257.2 KiB228172

websocket_quic_spdy_stream.ccD04-Jul-20251.7 KiB7152

websocket_quic_spdy_stream.hD04-Jul-20252.2 KiB6849

websocket_stream.ccD04-Jul-202520.5 KiB565430

websocket_stream.hD04-Jul-202513.2 KiB311141

websocket_stream_cookie_test.ccD04-Jul-202516.6 KiB520402

websocket_stream_create_test_base.ccD04-Jul-20255.6 KiB164132

websocket_stream_create_test_base.hD04-Jul-20254.2 KiB12787

websocket_stream_test.ccD04-Jul-202573.6 KiB1,8791,521

websocket_test_util.ccD04-Jul-202511.8 KiB314264

websocket_test_util.hD04-Jul-202510.6 KiB275177

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