Add protection against concurrent Readers
- 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