GitShow/denoland/fastwebsockets
denoland

fastwebsockets

A fast RFC6455 WebSocket implementation

by denoland
Star on GitHubForkWebsite

Rust

1.1k stars111 forks23 contributorsActive · 3w agoSince 2023Apache-2.0

Meet the team

See all 23 on GitHub →
littledivy
littledivy111 contributions
divybot
divybot6 contributions
bartlomieju
bartlomieju4 contributions
mmastrac
mmastrac3 contributions
erebe
erebe3 contributions
AaronRecord
AaronRecord1 contribution
kaniini
kaniini1 contribution
Avi-D-coder
Avi-D-coder1 contribution

Languages

View on GitHub →
Rust86.2%
C8.7%
JavaScript3.5%
Makefile1.6%

Commit activity

Last 12 weeks · 7 commits

Full graph →

Community health

2 of 6 standards met

Community profile →
37
✓README✓License○Contributing○Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Active · 8 in progress · Last activity 3w ago
See all on GitHub →
willrnch
permessage-deflateOpenPR
willrnch · 2d ago
ppmpreetham
perf: optimize buffer handling and fragment gecodingOpenPR

Improves memory efficiency and reduces CPU overhead in the WebSocket writing and fragment processing logic. Shifted to ownership transfers and in-place mutations and reduced the number of heap allocations and eliminate unnecessary buffer zero-initializations. Operation After this PR Write Header Allocation + Copy Decode Text $O(1)$ Ownership transfer / Truncate

ppmpreetham · 3w ago
fodorl
What prevents supporting a sync/blocking API?OpenIssue

Issue #90 was closed with "blocking (synchronous) API is not a goal for fastwebsockets" — curious about the reasoning behind this. Is the core frame parser fundamentally tied to , or is it more of a scoping/maintenance decision? Asking because we run latency-sensitive WebSocket consumers on CPU-pinned threads with non-blocking + epoll busy-polling (no async runtime). The frame parsing performance of fastwebsockets is very appealing, but wrapping it in a single-threaded tokio runtime adds indirection we'd prefer to avoid. If the frame codec were generic over (with the async variant as a thin wrapper), it would open up fastwebsockets to a wider set of use cases without changing the async API. Happy to contribute if this is something you'd consider.

fodorl · 1mo ago

Recent fixes

View closed PRs →
AaronRecord
Issue with example codeClosedIssue

In the main readme, there's this sample code: For me I get this error It looks like should be or should just be

AaronRecord · 3w ago
AaronRecord
Fix `use` issues in `README.md`MergedPR

Fixes #143. There may be more changes to make, I just fixed the issue in #143 and removed an unnecessary I spotted.

AaronRecord · 3w ago
airPenetration
Fragmented text frame treated as invalid if it contains partial utf-8ClosedIssue

https://github.com/denoland/fastwebsockets/blob/7d53d0130da5e94db947fdf6aa3da51dc8f53c6b/src/lib.rs#L647-L650 A single utf-8 character may contain multiple bytes and fragmentation may lead to the last segment having partial utf-8. rfc 6455 has already suggested this. I can guess that this is relatively unlikely to happen, fragmentation of a text segment from the middle of a non ascii character, but is not impossible. Specially if the text contains 4-byte emojis or is a non English text.

airPenetration · 2mo ago
Structured data for AI agents

Repository: denoland/fastwebsockets. Description: A fast RFC6455 WebSocket implementation Stars: 1133, Forks: 111. Primary language: Rust. Languages: Rust (86.2%), C (8.7%), JavaScript (3.5%), Makefile (1.6%). License: Apache-2.0. Homepage: https://docs.rs/fastwebsockets/ Open PRs: 8, open issues: 11. Last activity: 3w ago. Community health: 37%. Top contributors: littledivy, divybot, bartlomieju, mmastrac, erebe, AaronRecord, kaniini, Avi-D-coder, Caiooooo, dxvid-pts and others.

·@ofershap

Replace github.com with gitshow.dev