feat(connection): keepalive support