+ int opt;
+ int backend = 0;
+ while ((opt = getopt(argc, argv, "t:s:b:BFD")) != -1) {
+ switch (opt) {
+ case 't':
+ // Set number of log worker threads
+ opt_threads = atoi(optarg);
+ break;
+ case 's':
+ // Set item size (in bytes)
+ item_size = atoi(optarg);
+ break;
+ case 'b':
+ // Set batch size
+ opt_batchsize = atoi(optarg);
+ break;
+ case 'B':
+ // Select BDB backend
+ backend = 'b';
+ break;
+ case 'F':
+ // Select flat file backend
+ backend = 'f';
+ break;
+ case 'D':
+ // Select file system directory backend
+ backend = 'd';
+ break;
+ default: /* '?' */
+ fprintf(stderr, "Usage: %s [-t threads] {-B|-F|-D}\n",
+ argv[0]);
+ return EXIT_FAILURE;
+ }
+ }
+
+ switch (backend) {
+ case 'b':
+ launch_bdb();
+ break;
+ case 'f':
+ launch_flatlog();
+ break;
+ case 'd':
+ launch_fslog();
+ break;
+ default:
+ fprintf(stderr, "Backend not selected!\n");
+ return EXIT_FAILURE;
+ }