mirror of
https://github.com/Stone-Red-Code/HyperbolicDownloader.git
synced 2026-09-06 23:40:40 +02:00
Improve code structure
- Add separate API project - Add notification system
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace HyperbolicDownloaderApi
|
||||
{
|
||||
internal class MessageRecivedEventArgs<T> : EventArgs
|
||||
{
|
||||
private readonly NetworkStream networkStream;
|
||||
|
||||
public MessageRecivedEventArgs(NetworkStream networkStream, IPAddress ipAddress, T data)
|
||||
{
|
||||
this.networkStream = networkStream;
|
||||
Data = data;
|
||||
IpAddress = ipAddress;
|
||||
}
|
||||
|
||||
public T Data { get; set; }
|
||||
|
||||
public IPAddress IpAddress { get; set; }
|
||||
|
||||
public async Task SendResponseAsync(object response)
|
||||
{
|
||||
byte[] bytesToSend = Encoding.ASCII.GetBytes(JsonSerializer.Serialize(response));
|
||||
await networkStream.WriteAsync(bytesToSend);
|
||||
}
|
||||
|
||||
public void SendResponse(object response)
|
||||
{
|
||||
SendResponseAsync(response).GetAwaiter().GetResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user