HttpCache.h - function uws::time_ms() should be inline
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 72/100
Hướng nghiên cứu
Issue đề cập đến HttpCache.h và báo lỗi định nghĩa nhiều lần uWS::time_ms() khi tiêu đề được nhiều tệp .cpp đưa vào. Bắt đầu bằng cách đọc hàm đó và kiểm tra cách giá trị trả về của nó được sử dụng. Công việc hoàn tất khi dự án liên kết thành công trong cấu hình được mô tả và tên hàm cùng đơn vị thời gian khớp nhau.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
There is a linker error due to a violation of the One Definition Rule (ODR) caused by the definition of uws::time_ms() inside the HttpCache.h header file without the inline keyword:
Additionally, there appears to be a logical issue in the implementation: the function is named time_ms(), but it divides the millisecond count by 1000, effectively returning seconds instead of milliseconds.
Steps to Reproduce
- Include
HttpCache.hin more than one.cppfile within a project. - Attempt to compile and link the project.
Expected Behavior
- The project should link successfully without "multiple definition" errors.
- The
time_ms()function should return time in milliseconds (without dividing by 1000), or it should be renamed to match its actual return unit.
Actual Behavior
The linker fails with the following error:
/usr/include/uWebSockets/HttpCache.h:57: multiple definition of `uWS::time_ms()'
Location
File: HttpCache.h
Current Implementation
unsigned long time_ms() {
Suggested Fix
To fix the linker error, function should be marked as inline.
inline unsigned long time_ms() {
- Ngôn ngữ chính
- C++
- Star
- 19k
- Fork
- 1.9k
- Merge trung bình
- 3 giờ 59 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của uNetworking/uWebSockets
-
PROXY v2 parser rejects headers carrying TLVs, so IPv6 clients behind HAProxy hangCó thể đã có người làm @HawkForge đã nhận 9 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 62/100
uNetworking/uWebSockets#1957 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
uNetworking/uWebSockets#1956 ·
-
Add collectBody from uWS.jsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
uNetworking/uWebSockets#1953 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 68/100
uNetworking/uWebSockets#1948 ·
-
Some caching featuresĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
uNetworking/uWebSockets#1945 · 3 bình luận ·
Tất cả issue của uNetworking/uWebSockets
Issue tương tự
-
ai_p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
ClickHouse/ClickHouse#130006 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DepotMaintain: EN longer string moves the hint popup buttons out of reach // WpfGUI English LanguageĐang mởclient: WpfGui module: depot question
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
MaaAssistantArknights/MaaAssistantArknights#19169 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: certificates bug outdated-version
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
RafaelNGP/xbox-cloud-gaming-ps5#381 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
apache/iceberg-cpp#1103 ·
Maintainer thường phản hồi trong vòng 2 ngày