Add protection against concurrent Readers
- Ngôn ngữ chính
- Go
- Star
- 5.5k
- Fork
- 372
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu trong write.go quanh dòng 300 và theo dõi cách writeHeader.rsv1, rsv2 và rsv3 được thiết lập khi các trình đọc hoặc trình ghi đồng thời đang hoạt động. Sử dụng unexpected RSV-bits error được báo cáo làm tín hiệu lỗi. Được xem là hoàn tất khi kịch bản trình đọc đồng thời không còn tạo ra các RSV bits không hợp lệ, với một bài kiểm thử hồi quy bao quát hành vi này nếu repository có điểm vào kiểm thử phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- go
- Lĩnh vực
- networking
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100