channel_writer.go 309 B

12345678910111213141516171819
  1. package cert
  2. type ChannelWriter struct {
  3. Ch chan []byte
  4. }
  5. func NewChannelWriter() *ChannelWriter {
  6. return &ChannelWriter{
  7. Ch: make(chan []byte, 1024),
  8. }
  9. }
  10. func (cw *ChannelWriter) Write(p []byte) (n int, err error) {
  11. n = len(p)
  12. temp := make([]byte, n)
  13. copy(temp, p)
  14. cw.Ch <- temp
  15. return n, nil
  16. }