HttpCache.h - function uws::time_ms() should be inline
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
El issue menciona HttpCache.h e informa de una definición múltiple de uWS::time_ms() cuando varios archivos .cpp incluyen el encabezado. Empieza por leer esa función y comprobar cómo se usa su valor de retorno. Se considera terminado cuando el proyecto enlaza en la configuración descrita y el nombre de la función y la unidad de tiempo coinciden.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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() {
- Lenguaje dominante
- C++
- Estrellas
- 19k
- Forks
- 1.9k
- Merge medio
- 3 h 59 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de uNetworking/uWebSockets
-
PROXY v2 parser rejects headers carrying TLVs, so IPv6 clients behind HAProxy hangPosiblemente ocupada @HawkForge la tomó hace 8 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
uNetworking/uWebSockets#1957 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
uNetworking/uWebSockets#1956 ·
-
Add collectBody from uWS.jsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
uNetworking/uWebSockets#1953 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
uNetworking/uWebSockets#1948 ·
-
Some caching featuresAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
uNetworking/uWebSockets#1945 · 3 comentarios ·
Todos los issues de uNetworking/uWebSockets
Issues similares
-
#2754 make deepseek api not workAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
xiaoyifang/goldendict-ng#3148 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
triton-inference-server/server#9069 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 4 días
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100