coder / coder/websocket

Add protection against concurrent Readers

Aperta
#391 20 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Go
Stelle
5.5k
Fork
372
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

During my use of the library(server and client both v1.8.7), the server occasionally receives the following prompt,

```
failed to get reader: received header with unexpected rsv bits set: false:true:true
```

which seems to be related to this part of the code.

**write.go** L300:

```
c.writeHeader.rsv1 = false
if flate && (opcode == opText || opcode == opBinary) {
c.writeHeader.rsv1 = true
}
```

Could you please confirm if it is necessary to add the following code here?

```
c.writeHeader.rsv1 = false
c.writeHeader.rsv2 = false
c.writeHeader.rsv3 = false
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia in write.go intorno alla riga 300 e segui come vengono impostati writeHeader.rsv1, rsv2 e rsv3 mentre sono attivi lettori o scrittori concorrenti. Usa l'errore unexpected RSV-bits segnalato come segnale di errore. Il lavoro è completo quando lo scenario con lettori concorrenti non produce più RSV bits non validi, con un test di regressione che copra il comportamento se il repository dispone di un punto di ingresso per i test appropriato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go
Ambito
networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.