private void Dispose(bool disposing)
 {
     if (disposing && _proxyListener != null)
     {
         _proxyListener.Dispose();
         _proxyListener = null;
     }
 }
        public ProxyMediatorServer(ProxyServerConfig config)
        {
            async void HandleClient(SessionContextPool pool, TcpClient client, CancellationToken _) =>
            await Session.Run(pool, client, config);

            _proxyListener = new ProxyListener(config.Pool, config.EndPoint, HandleClient);
            // ReSharper disable once PossibleNullReferenceException
            var ipPortParts = _proxyListener.InternalTcpListener.LocalEndpoint.ToString().Split(':');

            config.EndPoint.Port = int.Parse(ipPortParts[1]);
        }