Kaynağa Gözat

async all write buffer flushes

tags/v0.1.0
Jeremy Latt 10 yıl önce
ebeveyn
işleme
5f268e4847
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5
    3
      irc/socket.go

+ 5
- 3
irc/socket.go Dosyayı Görüntüle

@@ -78,14 +78,16 @@ func (socket *Socket) Write(line string) (err error) {
78 78
 		return
79 79
 	}
80 80
 
81
-	if err = socket.writer.Flush(); socket.isError(err, W) {
82
-		return
83
-	}
81
+	go socket.flush()
84 82
 
85 83
 	Log.debug.Printf("%s ← %s", socket, line)
86 84
 	return
87 85
 }
88 86
 
87
+func (socket *Socket) flush() {
88
+	socket.isError(socket.writer.Flush(), W)
89
+}
90
+
89 91
 func (socket *Socket) isError(err error, dir rune) bool {
90 92
 	if err != nil {
91 93
 		if err != io.EOF {

Loading…
İptal
Kaydet