Beispiel #1
0
int main(int argc, char *argv[])
{
  sub = new ExampleSubscriber();
	sub->init();

	rttest_read_args(argc, argv);
	if (rttest_set_sched_priority(90, SCHED_RR) != 0)
  {
    perror("Failed to set scheduling priority and policy of thread");
  }

  size_t pool_size = 1024*1024*1024;
  size_t stack_size = sizeof(*sub) + 1024*1024;
	if (rttest_lock_memory() != 0)
  {
    perror("Failed to lock memory");
  }

	rttest_prefault_stack();

	rttest_spin(sub_callback, NULL);

	rttest_write_results();
	rttest_finish();

  std::cout << "Subscriber received " << sub->msgs_count << " messages." << std::endl;
	sub->teardown();
  delete sub;
}
Beispiel #2
0
int main(int argc, char *argv[])
{
	sub.init();

	rttest_read_args(argc, argv);

	if (rttest_set_sched_priority(90, SCHED_RR) != 0)
  {
    perror("Failed to set scheduling priority and policy of thread");
  }

	if (rttest_lock_memory() != 0)
  {
    perror("Failed to lock memory");
  }

	rttest_prefault_stack();

	rttest_spin(sub_callback, NULL);

	rttest_write_results();
	rttest_finish();

	sub.teardown();
}
Beispiel #3
0
void *publisher_thread(void *unused)
{
	rttest_spin(pub_callback, NULL);

	rttest_write_results_file("rttest_publisher_results");
  if (pub != NULL)
    pub->teardown();
	rttest_finish();
}
Beispiel #4
0
  /// Wrap executor::spin into rttest_spin.
  // Do all the work available to the executor for as many iterations specified by rttest.
  void spin()
  {
    // This call will block until rttest is finished, calling loop_callback at periodic intervals
    // specified on the command line.
    rttest_spin(RttExecutor::loop_callback, static_cast<void *>(this));

    // Clean up state and write results after rttest has finished spinning.
    running = false;
    rttest_write_results();
    if (rttest_running()) {
      rttest_finish();
    }
    rttest_ready = rttest_running();
  }
Beispiel #5
0
void *subscriber_thread(void *unused)
{
	rttest_init_new_thread();
	if (rttest_set_sched_priority(98, SCHED_RR) != 0)
  {
    perror("Failed to set scheduling priorty and policy of thread");
  }

	rttest_spin(sub_callback, NULL);
 
	rttest_write_results_file("rttest_subscriber_results");
  std::cout << "Subscriber received " << sub->msgs_count << " messages." << std::endl;
  /*if (sub != NULL)
    sub->teardown();*/
	rttest_finish();
}
Beispiel #6
0
int main(int argc, char ** argv)
{
  rttest_set_sched_priority(98, SCHED_RR);

  if (rttest_read_args(argc, argv) != 0) {
    perror("Couldn't read arguments for rttest");
    return -1;
  }
  if (rttest_lock_memory() != 0) {
    perror("Couldn't lock memory");
    return -1;
  }
  rttest_lock_and_prefault_dynamic();

  rttest_spin(my_loop_callback, NULL);

  rttest_write_results();
  rttest_finish();

  return 0;
}