Consider sync.Pool with io.CopyBuffer for proxy data transfers

Abierto
#47 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
12/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go

Línea de trabajo

The copy call sits in proxyRequest in localtunnel.go and selfhosted.go, where io.Copy is used per connection. The issue explicitly defers this to v2.0 and says it needs no change now, so do not start it; confirm with a maintainer before any work. If it is later scheduled, done means a shared sync.Pool buffer used with io.CopyBuffer in both files, checked by running the existing tunnel tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Right now in proxyRequest (localtunnel.go and selfhosted.go) we use standard io.Copy, which allocates a fresh 32KB buffer on every connection.

For CLI usage and local dev (testing webhooks, debugging APIs), this is totally fine and Go cleans it up instantly.

Once we work on v2.0 or start load-testing expose server with hundreds of concurrent users, we can switch to sync.Pool + io.CopyBuffer to recycle buffers and avoid GC pressure under heavy traffic.

Backlogging this for v2.0 — no need to touch it for now.

Lenguaje dominante
Go
Estrellas
9
Forks
1
Merge medio
5 h 33 min
PR fusionados (30 d)
36

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de kernelshard/expose

Todos los issues de kernelshard/expose

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.