Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(transports): removing sendAsync from transports #673

Merged
merged 14 commits into from
Mar 8, 2021
Merged
2 changes: 1 addition & 1 deletion Assets/Mirage/Runtime/NetworkConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ public virtual void Send<T>(T msg, int channelId = Channel.Reliable)
// the client. they would be detected as a message. send messages instead.
public void Send(ArraySegment<byte> segment, int channelId = Channel.Reliable)
{
connection.SendAsync(segment, channelId);
connection.Send(segment, channelId);
}


Expand Down
2 changes: 1 addition & 1 deletion Assets/Mirage/Runtime/Transport/IConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static class Channel

public interface IConnection
{
UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable);
void Send(ArraySegment<byte> data, int channel = Channel.Reliable);

/// <summary>
/// reads a message from connection
Expand Down
2 changes: 1 addition & 1 deletion Assets/Mirage/Runtime/Transport/Kcp/KcpClientConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ protected async UniTask HandshakeAsync(int bits)

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

var stream = new MemoryStream();
try
Expand Down
6 changes: 2 additions & 4 deletions Assets/Mirage/Runtime/Transport/Kcp/KcpConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -192,14 +192,12 @@ private void SendWithChecksum(byte[] data, int length)
}
}

public UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable)
public void Send(ArraySegment<byte> data, int channel = Channel.Reliable)
{
if (channel == Channel.Reliable)
kcp.Send(data.Array, data.Offset, data.Count);
else if (channel == Channel.Unreliable)
unreliable.Send(data.Array, data.Offset, data.Count);

return UniTask.CompletedTask;
}

/// <summary>
Expand Down Expand Up @@ -283,7 +281,7 @@ public virtual void Disconnect()
{
try
{
SendAsync(Goodby).Forget();
Send(Goodby);
kcp.Flush();
}
catch (SocketException)
Expand Down
2 changes: 1 addition & 1 deletion Assets/Mirage/Runtime/Transport/Kcp/KcpServerConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public KcpServerConnection(Socket socket, EndPoint remoteEndpoint, KcpDelayMode
internal async UniTask HandshakeAsync()
{
// send a greeting and see if the server replies
await SendAsync(Hello);
Send(Hello);
var stream = new MemoryStream();

try
Expand Down
3 changes: 1 addition & 2 deletions Assets/Mirage/Runtime/Transport/PipeConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,12 @@ public async UniTask<int> ReceiveAsync(MemoryStream buffer)
return 0;
}

public UniTask SendAsync(ArraySegment<byte> data, int channel = Channel.Reliable)
public void Send(ArraySegment<byte> data, int channel = Channel.Reliable)
{
// add some data to the writer in the connected connection
// and increase the message count
connected.writer.WriteBytesAndSizeSegment(data);
connected.MessageCount.Release();
return UniTask.CompletedTask;
}
}
}
12 changes: 6 additions & 6 deletions Assets/Tests/Editor/PipeConnectionTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections;
using System.IO;
using System.Net;
Expand All @@ -23,9 +23,9 @@ public void Setup()
(c1, c2) = PipeConnection.CreatePipe();
}

private static UniTask SendData(IConnection c, byte[] data)
private static void SendData(IConnection c, byte[] data)
{
return c.SendAsync(new ArraySegment<byte>(data));
c.Send(new ArraySegment<byte>(data));
}


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

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

[UnityTest]
public IEnumerator TestSendAndReceiveMultiple() => RunAsync(async () =>
{
await SendData(c1, new byte[] { 1, 2, 3, 4 });
await SendData(c1, new byte[] { 5, 6, 7, 8 });
SendData(c1, new byte[] { 1, 2, 3, 4 });
SendData(c1, new byte[] { 5, 6, 7, 8 });

await ExpectData(c2, new byte[] { 1, 2, 3, 4 });
await ExpectData(c2, new byte[] { 5, 6, 7, 8 });
Expand Down
6 changes: 3 additions & 3 deletions Assets/Tests/Runtime/Serializers/NetworkConnectionTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using NSubstitute;
using NUnit.Framework;
Expand Down Expand Up @@ -38,7 +38,7 @@ void ParsePacket(ArraySegment<byte> data)
Array.Copy(data.Array, data.Offset, lastSerializedPacket, 0, data.Count);
}

mockTransportConnection.SendAsync(
mockTransportConnection.Send(
Arg.Do<ArraySegment<byte>>(ParsePacket), Channel.Unreliable);

connection = new NetworkConnection(mockTransportConnection);
Expand Down Expand Up @@ -271,4 +271,4 @@ public void NotAcknowledgedYet()

#endregion
}
}
}
12 changes: 6 additions & 6 deletions Assets/Tests/Runtime/Transport/KcpTransportTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public void Connect()
[UnityTest]
public IEnumerator SendDataFromClient() => UniTask.ToCoroutine(async () =>
{
await clientConnection.SendAsync(new ArraySegment<byte>(data));
clientConnection.Send(new ArraySegment<byte>(data));

var buffer = new MemoryStream();
await serverConnection.ReceiveAsync(buffer);
Expand All @@ -102,7 +102,7 @@ public void Connect()
[UnityTest]
public IEnumerator SendDataFromServer() => UniTask.ToCoroutine(async () =>
{
await serverConnection.SendAsync(new ArraySegment<byte>(data));
serverConnection.Send(new ArraySegment<byte>(data));

var buffer = new MemoryStream();
await clientConnection.ReceiveAsync(buffer);
Expand All @@ -115,7 +115,7 @@ public void Connect()
long received = transport.ReceivedBytes;
Assert.That(received, Is.GreaterThan(0), "Must have received some bytes to establish the connection");

await clientConnection.SendAsync(new ArraySegment<byte>(data));
clientConnection.Send(new ArraySegment<byte>(data));

var buffer = new MemoryStream();
await serverConnection.ReceiveAsync(buffer);
Expand All @@ -130,7 +130,7 @@ public void Connect()
long sent = transport.SentBytes;
Assert.That(sent, Is.GreaterThan(0), "Must have received some bytes to establish the connection");

await serverConnection.SendAsync(new ArraySegment<byte>(data));
serverConnection.Send(new ArraySegment<byte>(data));

var buffer = new MemoryStream();
await clientConnection.ReceiveAsync(buffer);
Expand All @@ -142,7 +142,7 @@ public void Connect()
[UnityTest]
public IEnumerator SendUnreliableDataFromServer() => UniTask.ToCoroutine(async () =>
{
await serverConnection.SendAsync(new ArraySegment<byte>(data), Channel.Unreliable);
serverConnection.Send(new ArraySegment<byte>(data), Channel.Unreliable);

var buffer = new MemoryStream();
int channel = await clientConnection.ReceiveAsync(buffer);
Expand All @@ -153,7 +153,7 @@ public void Connect()
[UnityTest]
public IEnumerator SendUnreliableDataFromClient() => UniTask.ToCoroutine(async () =>
{
await clientConnection.SendAsync(new ArraySegment<byte>(data), Channel.Unreliable);
clientConnection.Send(new ArraySegment<byte>(data), Channel.Unreliable);

var buffer = new MemoryStream();
int channel = await serverConnection.ReceiveAsync(buffer);
Expand Down
8 changes: 4 additions & 4 deletions Assets/Tests/Runtime/Transport/TransportTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public TransportTests(string[] scheme, string uri, int port)
Encoding utf8 = Encoding.UTF8;
string message = "Hello from the client";
byte[] data = utf8.GetBytes(message);
await clientConnection.SendAsync(new ArraySegment<byte>(data));
clientConnection.Send(new ArraySegment<byte>(data));

var stream = new MemoryStream();

Expand Down Expand Up @@ -107,11 +107,11 @@ public void EndpointAddress()
Encoding utf8 = Encoding.UTF8;
string message = "Hello from the client 1";
byte[] data = utf8.GetBytes(message);
await clientConnection.SendAsync(new ArraySegment<byte>(data));
clientConnection.Send(new ArraySegment<byte>(data));

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

var stream = new MemoryStream();

Expand All @@ -131,7 +131,7 @@ public void EndpointAddress()
Encoding utf8 = Encoding.UTF8;
string message = "Hello from the server";
byte[] data = utf8.GetBytes(message);
await serverConnection.SendAsync(new ArraySegment<byte>(data));
serverConnection.Send(new ArraySegment<byte>(data));

var stream = new MemoryStream();

Expand Down