Log.Information("Connected.");
// Create a game.
- await connection.Send(writeGameCreate);
+ await connection.SendAsync(writeGameCreate);
Log.Information("Requested game creation.");
+ // Recycle.
+ writeHandshake.Recycle();
+ writeGameCreate.Recycle();
+
e.WaitOne();
}
}
/// general any implementer should aim to always follow the user's request.
/// </para>
/// </remarks>
- public abstract ValueTask Send(IMessageWriter msg);
+ public abstract ValueTask SendAsync(IMessageWriter msg);
/// <summary>
/// Sends a number of bytes to the end point of the connection using the specified <see cref="MessageType"/>.
protected abstract ValueTask WriteBytesToConnection(byte[] bytes, int length);
/// <inheritdoc/>
- public override async ValueTask Send(IMessageWriter msg)
+ public override async ValueTask SendAsync(IMessageWriter msg)
{
if (this._state != ConnectionState.Connected)
throw new InvalidOperationException("Could not send data as this Connection is not connected. Did you disconnect?");
public ValueTask SendAsync(IMessageWriter writer)
{
- return InnerConnection.Send(writer);
+ return InnerConnection.SendAsync(writer);
}
private async ValueTask ConnectionOnDisconnected(DisconnectedEventArgs e)
{
foreach (var connection in GetConnections(x => x.Limbo.HasFlag(states)))
{
- connection.Send(writer);
+ connection.SendAsync(writer);
}
return default;
x.Limbo.HasFlag(states) &&
x.Client.Id != senderId))
{
- connection.Send(writer);
+ connection.SendAsync(writer);
}
return default;
{
if (TryGetPlayer(id, out var player) && player.Client.Connection is HazelConnection hazelConnection)
{
- hazelConnection.InnerConnection.Send(writer);
+ hazelConnection.InnerConnection.SendAsync(writer);
}
return default;