9seconds 7 лет назад
Родитель
Сommit
474fb8a294
2 измененных файлов: 14 добавлений и 11 удалений
  1. 1
    0
      mtproto/rpc/handshake_request.go
  2. 13
    11
      wrappers/mtproto_proxy.go

+ 1
- 0
mtproto/rpc/handshake_request.go Просмотреть файл

@@ -7,6 +7,7 @@ type HandshakeRequest struct {
7 7
 
8 8
 func (r *HandshakeRequest) Bytes() []byte {
9 9
 	buf := &bytes.Buffer{}
10
+	buf.Grow(len(TagHandshake) + len(HandshakeFlags) + len(HandshakeSenderPID) + len(HandshakePeerPID))
10 11
 
11 12
 	buf.Write(TagHandshake)
12 13
 	buf.Write(HandshakeFlags)

+ 13
- 11
wrappers/mtproto_proxy.go Просмотреть файл

@@ -32,6 +32,10 @@ func (m *MTProtoProxy) Read() ([]byte, error) {
32 32
 	if err != nil {
33 33
 		return nil, errors.Annotate(err, "Cannot read packet")
34 34
 	}
35
+	defer func() {
36
+		m.readCounter++
37
+	}()
38
+
35 39
 	m.logger.Debugw("Read packet length",
36 40
 		"counter", m.readCounter,
37 41
 		"simple_ack", m.req.Options.WriteHacks.SimpleAck,
@@ -44,14 +48,6 @@ func (m *MTProtoProxy) Read() ([]byte, error) {
44 48
 	}
45 49
 
46 50
 	tag, packet := packet[:4], packet[4:]
47
-	m.logger.Debugw("Read RPC tag",
48
-		"counter", m.readCounter,
49
-		"simple_ack", m.req.Options.WriteHacks.SimpleAck,
50
-		"quick_ack", m.req.Options.WriteHacks.QuickAck,
51
-		"tag", tag,
52
-	)
53
-
54
-	m.readCounter++
55 51
 	switch {
56 52
 	case bytes.Equal(tag, rpc.TagProxyAns):
57 53
 		return m.readProxyAns(packet)
@@ -70,7 +66,10 @@ func (m *MTProtoProxy) readProxyAns(data []byte) ([]byte, error) {
70 66
 	}
71 67
 	data = data[12:]
72 68
 
73
-	m.logger.Debugw("Read RPC_PROXY_ANS", "length", len(data))
69
+	m.logger.Debugw("Read RPC_PROXY_ANS",
70
+		"counter", m.readCounter,
71
+		"length", len(data),
72
+	)
74 73
 
75 74
 	return data, nil
76 75
 }
@@ -81,13 +80,16 @@ func (m *MTProtoProxy) readSimpleAck(data []byte) ([]byte, error) {
81 80
 	}
82 81
 	data = data[8:12]
83 82
 
84
-	m.logger.Debugw("Read RPC_SIMPLE_ACK", "length", len(data))
83
+	m.logger.Debugw("Read RPC_SIMPLE_ACK",
84
+		"counter", m.readCounter,
85
+		"length", len(data),
86
+	)
85 87
 
86 88
 	return data, nil
87 89
 }
88 90
 
89 91
 func (m *MTProtoProxy) readCloseExt(data []byte) ([]byte, error) {
90
-	m.logger.Debugw("Read RPC_CLOSE_EXT")
92
+	m.logger.Debugw("Read RPC_CLOSE_EXT", "counter", m.readCounter)
91 93
 
92 94
 	return nil, errors.New("Connection has been closed remotely by RPC call")
93 95
 }

Загрузка…
Отмена
Сохранить