Add protection against concurrent Readers
- Langage dominant
- Go
- Étoiles
- 5.5k
- Forks
- 372
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez dans write.go autour de la ligne 300 et suivez la manière dont writeHeader.rsv1, rsv2 et rsv3 sont définis lorsque des lecteurs ou des écrivains concurrents sont actifs. Utilisez l'erreur unexpected RSV-bits signalée comme signal d'échec. Le travail est terminé lorsque le scénario avec des lecteurs concurrents ne produit plus de RSV bits invalides, avec un test de régression couvrant ce comportement si le dépôt possède un point d'entrée de test approprié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- go
- Domaine
- networking
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100