16 static int joedb_push(
int argc,
char **argv)
25 if (arg_index < argc && std::strcmp(argv[arg_index],
"--follow") == 0)
31 int64_t until_checkpoint = std::numeric_limits<int64_t>::max();
32 if (arg_index + 1 < argc && std::strcmp(argv[arg_index],
"--until") == 0)
34 until_checkpoint = std::atoll(argv[arg_index + 1]);
38 if (arg_index >= argc)
40 std::cerr <<
"usage: " << argv[0];
41 std::cerr <<
" [--follow] [--until <checkpoint>]";
42 client_parser.print_help(std::cerr);
46 Client &client = client_parser.parse(argc - arg_index, argv + arg_index);
47 Readonly_Client *readonly_client =
dynamic_cast<Readonly_Client*
>(&client);
56 client.get_connection_checkpoint() < until_checkpoint &&
60 std::this_thread::sleep_for(std::chrono::seconds(1));
61 client.push_if_ahead();
70int main(
int argc,
char **argv)
#define JOEDB_RELEASE_ASSERT(x)
@ read_existing
fails if does not exist
int main_exception_catcher(int(*main)(int, char **), int argc, char **argv)
Catch exception from main.