Skip to content

Commit

Permalink
refactor(transports): removing sendAsync from transports (#673)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: Removed SendAsync from transport,  use Send instead
  • Loading branch information
James-Frowen authored and paulpach committed Mar 8, 2021
1 parent 933ec5f commit 42b165f
Show file tree
Hide file tree
Showing 10 changed files with 26 additions and 29 deletions.
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

1 comment on commit 42b165f

@eriknielsen
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come this was done?

Please sign in to comment.