Просмотр исходного кода

go.net/websocket: optimize frame masking code
From Jens.Alfke@gmail.com.
Fixes golang/go#5269.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8748050

Shenghou Ma 12 лет назад
Родитель
Сommit
94458b3b47
1 измененных файлов с 3 добавлено и 4 удалено
  1. 3 4
      websocket/hybi.go

+ 3 - 4
websocket/hybi.go

@@ -216,10 +216,9 @@ func (frame *hybiFrameWriter) Write(msg []byte) (n int, err error) {
 		}
 		header = append(header, frame.header.MaskingKey...)
 		frame.writer.Write(header)
-		var data []byte
-
-		for i := 0; i < length; i++ {
-			data = append(data, msg[i]^frame.header.MaskingKey[i%4])
+		data := make([]byte, length)
+		for i := range data {
+			data[i] = msg[i] ^ frame.header.MaskingKey[i%4]
 		}
 		frame.writer.Write(data)
 		err = frame.writer.Flush()