feat: IConnection interface added for connection information
This commit is contained in:
8
Shared/Network/Abstract/IConnection.cs
Normal file
8
Shared/Network/Abstract/IConnection.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Syntriax.Engine.Network;
|
||||
|
||||
public interface IConnection
|
||||
{
|
||||
string Id { get; }
|
||||
float Ping { get; }
|
||||
float RoundTrip { get; }
|
||||
}
|
@@ -1,13 +1,20 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Syntriax.Engine.Core;
|
||||
|
||||
namespace Syntriax.Engine.Network;
|
||||
|
||||
public interface INetworkCommunicator
|
||||
{
|
||||
Event<INetworkCommunicator, IConnection> OnConnectionEstablished { get; }
|
||||
Event<INetworkCommunicator, IConnection> OnConnectionAbolished { get; }
|
||||
|
||||
IReadOnlyDictionary<string, IConnection> Connections { get; }
|
||||
|
||||
INetworkCommunicator Stop();
|
||||
|
||||
INetworkCommunicator SubscribeToPackets<T>(Event<string, T>.EventHandler callback);
|
||||
INetworkCommunicator UnsubscribeFromPackets<T>(Event<string, T>.EventHandler callback);
|
||||
INetworkCommunicator SubscribeToPackets<T>(Event<IConnection, T>.EventHandler callback);
|
||||
INetworkCommunicator UnsubscribeFromPackets<T>(Event<IConnection, T>.EventHandler callback);
|
||||
}
|
||||
|
||||
public interface INetworkCommunicatorClient : INetworkCommunicator
|
||||
|
@@ -2,5 +2,5 @@ namespace Syntriax.Engine.Network;
|
||||
|
||||
public interface IPacketListenerClient<T> : INetworkEntity
|
||||
{
|
||||
void OnClientPacketArrived(T packet);
|
||||
void OnClientPacketArrived(IConnection sender, T packet);
|
||||
}
|
||||
|
@@ -2,5 +2,5 @@ namespace Syntriax.Engine.Network;
|
||||
|
||||
public interface IPacketListenerServer<T> : INetworkEntity
|
||||
{
|
||||
void OnServerPacketArrived(string sender, T packet);
|
||||
void OnServerPacketArrived(IConnection sender, T packet);
|
||||
}
|
||||
|
Reference in New Issue
Block a user