Skip to content

Commit 42b165f

Browse files
James-Frowenpaulpach
authored andcommitted
refactor(transports): removing sendAsync from transports (MirageNet#673)
BREAKING CHANGE: Removed SendAsync from transport, use Send instead
1 parent 933ec5f commit 42b165f

10 files changed

+26
-29
lines changed

Assets/Mirage/Runtime/NetworkConnection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ public virtual void Send<T>(T msg, int channelId = Channel.Reliable)
221221
// the client. they would be detected as a message. send messages instead.
222222
public void Send(ArraySegment<byte> segment, int channelId = Channel.Reliable)
223223
{
224-
connection.SendAsync(segment, channelId);
224+
connection.Send(segment, channelId);
225225
}
226226

227227

Assets/Mirage/Runtime/Transport/IConnection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static class Channel
1717

1818
public interface IConnection
1919
{
20-
UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable);
20+
void Send(ArraySegment<byte> data, int channel = Channel.Reliable);
2121

2222
/// <summary>
2323
/// reads a message from connection

Assets/Mirage/Runtime/Transport/Kcp/KcpClientConnection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ protected async UniTask HandshakeAsync(int bits)
8585

8686
var data = new ArraySegment<byte>(hello, 0, length);
8787
// send a greeting and see if the server replies
88-
await SendAsync(data);
88+
Send(data);
8989

9090
var stream = new MemoryStream();
9191
try

Assets/Mirage/Runtime/Transport/Kcp/KcpConnection.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -192,14 +192,12 @@ private void SendWithChecksum(byte[] data, int length)
192192
}
193193
}
194194

195-
public UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable)
195+
public void Send(ArraySegment<byte> data, int channel = Channel.Reliable)
196196
{
197197
if (channel == Channel.Reliable)
198198
kcp.Send(data.Array, data.Offset, data.Count);
199199
else if (channel == Channel.Unreliable)
200200
unreliable.Send(data.Array, data.Offset, data.Count);
201-
202-
return UniTask.CompletedTask;
203201
}
204202

205203
/// <summary>
@@ -283,7 +281,7 @@ public virtual void Disconnect()
283281
{
284282
try
285283
{
286-
SendAsync(Goodby).Forget();
284+
Send(Goodby);
287285
kcp.Flush();
288286
}
289287
catch (SocketException)

Assets/Mirage/Runtime/Transport/Kcp/KcpServerConnection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public KcpServerConnection(Socket socket, EndPoint remoteEndpoint, KcpDelayMode
2020
internal async UniTask HandshakeAsync()
2121
{
2222
// send a greeting and see if the server replies
23-
await SendAsync(Hello);
23+
Send(Hello);
2424
var stream = new MemoryStream();
2525

2626
try

Assets/Mirage/Runtime/Transport/PipeConnection.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,12 @@ public async UniTask<int> ReceiveAsync(MemoryStream buffer)
7979
return 0;
8080
}
8181

82-
public UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable)
82+
public void Send(ArraySegment<byte> data, int channel = Channel.Reliable)
8383
{
8484
// add some data to the writer in the connected connection
8585
// and increase the message count
8686
connected.writer.WriteBytesAndSizeSegment(data);
8787
connected.MessageCount.Release();
88-
return UniTask.CompletedTask;
8988
}
9089
}
9190
}

Assets/Tests/Editor/PipeConnectionTest.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections;
33
using System.IO;
44
using System.Net;
@@ -23,9 +23,9 @@ public void Setup()
2323
(c1, c2) = PipeConnection.CreatePipe();
2424
}
2525

26-
private static UniTask SendData(IConnection c, byte[] data)
26+
private static void SendData(IConnection c, byte[] data)
2727
{
28-
return c.SendAsync(new ArraySegment<byte>(data));
28+
c.Send(new ArraySegment<byte>(data));
2929
}
3030

3131

@@ -41,16 +41,16 @@ private static async Task ExpectData(IConnection c, byte[] expected)
4141
[UnityTest]
4242
public IEnumerator TestSendAndReceive() => RunAsync(async () =>
4343
{
44-
await SendData(c1, new byte[] { 1, 2, 3, 4 });
44+
SendData(c1, new byte[] { 1, 2, 3, 4 });
4545

4646
await ExpectData(c2, new byte[] { 1, 2, 3, 4 });
4747
});
4848

4949
[UnityTest]
5050
public IEnumerator TestSendAndReceiveMultiple() => RunAsync(async () =>
5151
{
52-
await SendData(c1, new byte[] { 1, 2, 3, 4 });
53-
await SendData(c1, new byte[] { 5, 6, 7, 8 });
52+
SendData(c1, new byte[] { 1, 2, 3, 4 });
53+
SendData(c1, new byte[] { 5, 6, 7, 8 });
5454

5555
await ExpectData(c2, new byte[] { 1, 2, 3, 4 });
5656
await ExpectData(c2, new byte[] { 5, 6, 7, 8 });

Assets/Tests/Runtime/Serializers/NetworkConnectionTest.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.IO;
33
using NSubstitute;
44
using NUnit.Framework;
@@ -38,7 +38,7 @@ void ParsePacket(ArraySegment<byte> data)
3838
Array.Copy(data.Array, data.Offset, lastSerializedPacket, 0, data.Count);
3939
}
4040

41-
mockTransportConnection.SendAsync(
41+
mockTransportConnection.Send(
4242
Arg.Do<ArraySegment<byte>>(ParsePacket), Channel.Unreliable);
4343

4444
connection = new NetworkConnection(mockTransportConnection);
@@ -271,4 +271,4 @@ public void NotAcknowledgedYet()
271271

272272
#endregion
273273
}
274-
}
274+
}

Assets/Tests/Runtime/Transport/KcpTransportTest.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public void Connect()
9191
[UnityTest]
9292
public IEnumerator SendDataFromClient() => UniTask.ToCoroutine(async () =>
9393
{
94-
await clientConnection.SendAsync(new ArraySegment<byte>(data));
94+
clientConnection.Send(new ArraySegment<byte>(data));
9595

9696
var buffer = new MemoryStream();
9797
await serverConnection.ReceiveAsync(buffer);
@@ -102,7 +102,7 @@ public IEnumerator SendDataFromClient() => UniTask.ToCoroutine(async () =>
102102
[UnityTest]
103103
public IEnumerator SendDataFromServer() => UniTask.ToCoroutine(async () =>
104104
{
105-
await serverConnection.SendAsync(new ArraySegment<byte>(data));
105+
serverConnection.Send(new ArraySegment<byte>(data));
106106

107107
var buffer = new MemoryStream();
108108
await clientConnection.ReceiveAsync(buffer);
@@ -115,7 +115,7 @@ public IEnumerator ReceivedBytes() => UniTask.ToCoroutine(async () =>
115115
long received = transport.ReceivedBytes;
116116
Assert.That(received, Is.GreaterThan(0), "Must have received some bytes to establish the connection");
117117

118-
await clientConnection.SendAsync(new ArraySegment<byte>(data));
118+
clientConnection.Send(new ArraySegment<byte>(data));
119119

120120
var buffer = new MemoryStream();
121121
await serverConnection.ReceiveAsync(buffer);
@@ -130,7 +130,7 @@ public IEnumerator SentBytes() => UniTask.ToCoroutine(async () =>
130130
long sent = transport.SentBytes;
131131
Assert.That(sent, Is.GreaterThan(0), "Must have received some bytes to establish the connection");
132132

133-
await serverConnection.SendAsync(new ArraySegment<byte>(data));
133+
serverConnection.Send(new ArraySegment<byte>(data));
134134

135135
var buffer = new MemoryStream();
136136
await clientConnection.ReceiveAsync(buffer);
@@ -142,7 +142,7 @@ public IEnumerator SentBytes() => UniTask.ToCoroutine(async () =>
142142
[UnityTest]
143143
public IEnumerator SendUnreliableDataFromServer() => UniTask.ToCoroutine(async () =>
144144
{
145-
await serverConnection.SendAsync(new ArraySegment<byte>(data), Channel.Unreliable);
145+
serverConnection.Send(new ArraySegment<byte>(data), Channel.Unreliable);
146146

147147
var buffer = new MemoryStream();
148148
int channel = await clientConnection.ReceiveAsync(buffer);
@@ -153,7 +153,7 @@ public IEnumerator SendUnreliableDataFromServer() => UniTask.ToCoroutine(async (
153153
[UnityTest]
154154
public IEnumerator SendUnreliableDataFromClient() => UniTask.ToCoroutine(async () =>
155155
{
156-
await clientConnection.SendAsync(new ArraySegment<byte>(data), Channel.Unreliable);
156+
clientConnection.Send(new ArraySegment<byte>(data), Channel.Unreliable);
157157

158158
var buffer = new MemoryStream();
159159
int channel = await serverConnection.ReceiveAsync(buffer);

Assets/Tests/Runtime/Transport/TransportTests.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public IEnumerator ClientToServerTest() => UniTask.ToCoroutine(async () =>
7272
Encoding utf8 = Encoding.UTF8;
7373
string message = "Hello from the client";
7474
byte[] data = utf8.GetBytes(message);
75-
await clientConnection.SendAsync(new ArraySegment<byte>(data));
75+
clientConnection.Send(new ArraySegment<byte>(data));
7676

7777
var stream = new MemoryStream();
7878

@@ -107,11 +107,11 @@ public IEnumerator ClientToServerMultipleTest() => UniTask.ToCoroutine(async ()
107107
Encoding utf8 = Encoding.UTF8;
108108
string message = "Hello from the client 1";
109109
byte[] data = utf8.GetBytes(message);
110-
await clientConnection.SendAsync(new ArraySegment<byte>(data));
110+
clientConnection.Send(new ArraySegment<byte>(data));
111111

112112
string message2 = "Hello from the client 2";
113113
byte[] data2 = utf8.GetBytes(message2);
114-
await clientConnection.SendAsync(new ArraySegment<byte>(data2));
114+
clientConnection.Send(new ArraySegment<byte>(data2));
115115

116116
var stream = new MemoryStream();
117117

@@ -131,7 +131,7 @@ public IEnumerator ServerToClientTest() => UniTask.ToCoroutine(async () =>
131131
Encoding utf8 = Encoding.UTF8;
132132
string message = "Hello from the server";
133133
byte[] data = utf8.GetBytes(message);
134-
await serverConnection.SendAsync(new ArraySegment<byte>(data));
134+
serverConnection.Send(new ArraySegment<byte>(data));
135135

136136
var stream = new MemoryStream();
137137

0 commit comments

Comments
 (0)