1
- using System ;
2
- using System . Collections . Generic ;
1
+ using System . Collections . Generic ;
3
2
using MLAPI . Data ;
4
3
using MLAPI . NetworkingManagerComponents . Binary ;
5
4
using MLAPI . NetworkingManagerComponents . Cryptography ;
@@ -10,6 +9,7 @@ namespace MLAPI.NetworkingManagerComponents.Core
10
9
{
11
10
internal static partial class InternalMessageHandler
12
11
{
12
+ internal static byte [ ] FinalMessageBuffer ;
13
13
internal static void PassthroughSend ( uint targetId , uint sourceId , ushort messageType , int channelId , byte [ ] data , uint ? networkId = null , ushort ? orderId = null )
14
14
{
15
15
NetId targetNetId = new NetId ( targetId ) ;
@@ -41,8 +41,10 @@ internal static void PassthroughSend(uint targetId, uint sourceId, ushort messag
41
41
else
42
42
writer . WriteByteArray ( data ) ;
43
43
44
+ writer . Finalize ( ref FinalMessageBuffer ) ;
45
+
44
46
byte error ;
45
- NetworkTransport . QueueMessageForSending ( targetNetId . HostId , targetNetId . ConnectionId , channelId , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
47
+ NetworkTransport . QueueMessageForSending ( targetNetId . HostId , targetNetId . ConnectionId , channelId , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
46
48
}
47
49
}
48
50
@@ -103,10 +105,13 @@ internal static void Send(uint clientId, string messageType, string channelName,
103
105
byte error ;
104
106
if ( isPassthrough )
105
107
netId = NetId . ServerNetId ;
108
+
109
+ writer . Finalize ( ref FinalMessageBuffer ) ;
110
+
106
111
if ( skipQueue )
107
- NetworkTransport . Send ( netId . HostId , netId . ConnectionId , MessageManager . channels [ channelName ] , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
112
+ NetworkTransport . Send ( netId . HostId , netId . ConnectionId , MessageManager . channels [ channelName ] , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
108
113
else
109
- NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , MessageManager . channels [ channelName ] , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
114
+ NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , MessageManager . channels [ channelName ] , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
110
115
}
111
116
}
112
117
@@ -149,8 +154,11 @@ internal static void Send(uint[] clientIds, string messageType, string channelNa
149
154
//Client trying to send data to host
150
155
netId = NetId . ServerNetId ;
151
156
}
157
+
158
+ writer . Finalize ( ref FinalMessageBuffer ) ;
159
+
152
160
byte error ;
153
- NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
161
+ NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
154
162
}
155
163
}
156
164
}
@@ -194,8 +202,11 @@ internal static void Send(List<uint> clientIds, string messageType, string chann
194
202
//Client trying to send data to host
195
203
netId = NetId . ServerNetId ;
196
204
}
205
+
206
+ writer . Finalize ( ref FinalMessageBuffer ) ;
207
+
197
208
byte error ;
198
- NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
209
+ NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
199
210
}
200
211
}
201
212
}
@@ -240,8 +251,11 @@ internal static void Send(string messageType, string channelName, byte[] data, u
240
251
//Client trying to send data to host
241
252
netId = NetId . ServerNetId ;
242
253
}
254
+
255
+ writer . Finalize ( ref FinalMessageBuffer ) ;
256
+
243
257
byte error ;
244
- NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
258
+ NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
245
259
}
246
260
}
247
261
}
@@ -288,8 +302,11 @@ internal static void Send(string messageType, string channelName, byte[] data, u
288
302
//Client trying to send data to host
289
303
netId = NetId . ServerNetId ;
290
304
}
305
+
306
+ writer . Finalize ( ref FinalMessageBuffer ) ;
307
+
291
308
byte error ;
292
- NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , writer . Finalize ( ) , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
309
+ NetworkTransport . QueueMessageForSending ( netId . HostId , netId . ConnectionId , channel , FinalMessageBuffer , ( int ) writer . GetFinalizeSize ( ) , out error ) ;
293
310
}
294
311
}
295
312
}
0 commit comments