|
|
@@ -4,6 +4,7 @@ import (
|
|
4
|
4
|
"bytes"
|
|
5
|
5
|
"crypto/aes"
|
|
6
|
6
|
"encoding/binary"
|
|
|
7
|
+ "fmt"
|
|
7
|
8
|
"hash/crc32"
|
|
8
|
9
|
"io"
|
|
9
|
10
|
"io/ioutil"
|
|
|
@@ -20,7 +21,7 @@ const (
|
|
20
|
21
|
frameRWCMaxMessageLength = 16777216
|
|
21
|
22
|
)
|
|
22
|
23
|
|
|
23
|
|
-var frameRWCPadding = [4]byte{0x04, 0x00, 0x00, 0x00}
|
|
|
24
|
+var frameRWCPadding = []byte{0x04, 0x00, 0x00, 0x00}
|
|
24
|
25
|
|
|
25
|
26
|
type FrameRWC struct {
|
|
26
|
27
|
wrappers.BufferedReader
|
|
|
@@ -48,7 +49,7 @@ func (f *FrameRWC) Write(buf []byte) (int, error) {
|
|
48
|
49
|
|
|
49
|
50
|
checksum := crc32.ChecksumIEEE(writeBuf.Bytes())
|
|
50
|
51
|
binary.Write(writeBuf, binary.LittleEndian, checksum)
|
|
51
|
|
- writeBuf.Write(bytes.Repeat(frameRWCPadding[:], paddingLength/4))
|
|
|
52
|
+ writeBuf.Write(bytes.Repeat(frameRWCPadding, paddingLength/4))
|
|
52
|
53
|
|
|
53
|
54
|
_, err := f.conn.Write(writeBuf.Bytes())
|
|
54
|
55
|
return len(buf), err
|