class PodFollowerImpl implements PodFollower<C> {

    protected boolean checkLogTimeout(Long timeout, String namespace, String podName)
    {
        if(timeout == null) return false;

        Long tailTimestamp = podPushClient.getKubernetesHttpClients().getRequestClient().getLastLogLineTimestamp(namespace, podName);
        Long now = Instant.now().toEpochMilli();
        if(tailTimestamp != null)
        {
            if (timeout < now - tailTimestamp)
            {
                logger.error("[{}]Pod has timed out. tailTimestamp/Now: {}/{}", podName, tailTimestamp, now);
                return true;
            }
            else
            {
                logger.error("[{}]No log activity on pod detected. Will timeout after approximately: {}ms", podName, timeout - (now - tailTimestamp));
            }
        }
        return false;
    }

    public  PodFollowerImpl(KubeConfig kubeConfig, PodConfig podConfig, ExecutionConfig executionConfig);
    public  PodFollowerImpl(KubeConfig kubeConfig, PodConfig podConfig, ExecutionConfig executionConfig, PodPushClientFactoryImpl podPushClientFactory);

}