|
|
@@ -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
|
}
|