public TcpConnection(ITcpService tcpService, ITcpSerializer tcpSerializer, TcpClient socket, SocketStatistic socketStatistic, ISocketLog log, int id) { Id = id; _tcpSerializer = tcpSerializer; _socket = socket; _socketStatistic = socketStatistic; _log = log; TcpService = tcpService; tcpService.SendDataToSocket = SendDataToSocket; _socketStatistic.LastConnectionTime = DateTime.UtcNow; }
internal ValueTask StartAsync(TcpClient tcpClient, ITcpSerializer <TSocketData> tcpSerializer, object lockObject, ISocketLogInvoker log, Action <ITcpContext> disconnectedCallback, byte[] deliveryBuffer) { Log = log; _disconnectedCallback = disconnectedCallback; _lockObject = lockObject; _deliveryBuffer = deliveryBuffer; _deliveryPublisherSubscriber = new TcpSocketPublisherSubscriber(_lockObject); TcpClient = tcpClient; SocketStream = TcpClient.GetStream(); TcpSerializer = tcpSerializer; SetContextName(TcpClient.Client.RemoteEndPoint.ToString()); Connected = true; SocketStatistic = new SocketStatistic(); return(OnConnectAsync()); }
public TcpConnection( ITcpService tcpService, ITcpSerializer tcpSerializer, TcpClient socket, SocketStatistic socketStatistic, ILogFactory logFactory, int id) { Id = id; _tcpSerializer = tcpSerializer; _socket = socket; _socketStatistic = socketStatistic; _log = logFactory.CreateLog(this); _tcpService = tcpService; tcpService.SendDataToSocket = SendDataToSocket; _socketStatistic.LastConnectionTime = DateTime.UtcNow; }