Feature: Make streams implement the existing Go io interfaces.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Bắt đầu bằng cách xác định các kiểu StreamReader và StreamWriter được tạo cho stream và đọc các thao tác stream hiện có của chúng. Kiểm tra cách các kiểu này hiện xử lý việc đọc, ghi và đóng, sau đó xác minh rằng chúng triển khai các interface io.Reader, io.Writer, io.ReadCloser và io.WriteCloser, đồng thời có thể được truyền vào bộ mã hóa JSON được hiển thị trong issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
In order to make bindings more Go idiomatic we should make streams implement the io.Reader, io.Writer and io.Closer interfaces. This would enable more seamless integration with existing Go functions.
Example
For the following wit type stream<u8> the types should implement the following:
// StreamReader implements io.ReadCloser
var _ io.ReadCloser = (*witTypes.StreamReader[uint8])(nil)
// io.ReadCloser
type ReadCloser interface {
Read(p []byte) (n int, err error)
Close() error
}
// StreamWriter implements io.WriteCloser
var _ io.WriteCloser = (*witTypes.StreamWriter[uint8])(nil)
// io.WriteCloser
type WriteCloser interface {
Write(p []byte) (n int, err error)
Close() error
}
This would allow you to for example, encode json straight onto the stream:
// Create stream
tx, rx := foo.MakeStreamU8()
// Encode json
err := son.NewEncoder(tx).Encode(map[string]string{
"foo": "bar",
})
...
- Ngôn ngữ chính
- Go
- Star
- 0
- Fork
- 7
- Merge trung bình
- 7 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của bytecodealliance/go-pkg
-
Bootstrap `go-pkg`Có thể làm lại được @asteurer đã nhận 252 ngày trước và không có pull request nào đang mở. Đang mở
bytecodealliance/go-pkg#1 · 1 người được giao ·
Tất cả issue của bytecodealliance/go-pkg
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
keyxmakerx/Chronicle#1469 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Gentleman-Programming/gentle-ai#5565 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug frontend grammar sev-3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
-
connector docs good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
soma-intelligence/open-health-sync#134 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 3 ngày