Example #1
0
 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;
 }
Example #2
0
 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());
 }
Example #3
0
 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;
 }