int DT_Creator::dt_task_init (ACE_Arg_Shifter& arg_shifter) { static int dt_index = 0; time_t start_time = 0; int load = 0; int iter = 0; int importance = 0; char *job_name = 0; int dist = 0; const ACE_TCHAR* current_arg = 0; if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-Importance")) == 0) { arg_shifter.consume_arg (); current_arg = arg_shifter.get_current (); importance = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Start_Time")))) { start_time = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Iter")))) { iter = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Load")))) { load = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-JobName")))) { job_name = (char *)current_arg; dist = 1; arg_shifter.consume_arg (); } dt_list_ [dt_index++] = this->create_thr_task (importance, start_time, load, iter, dist, job_name); return 0; }
int TAO_Notify_Tests_Periodic_Consumer::init_state (ACE_Arg_Shifter& arg_shifter) { // First, let the base class look for options. if (TAO_Notify_Tests_StructuredPushConsumer::init_state (arg_shifter) == -1) return -1; const ACE_TCHAR *current_arg = 0; while (arg_shifter.is_anything_left ()) { if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-MaxCount")))) { this->max_count_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); if (max_count_ == 0) { if (this->client_) this->client_->done (this); } } else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-Check_Priority")) == 0) { this->check_priority_ = 1; arg_shifter.consume_arg (); } else { break; } } /* while */ return 0; }
int DllORB::init (int argc, ACE_TCHAR *argv[]) { int threadCnt = 1; try { ACE_Arg_Shifter as (argc, argv); const ACE_TCHAR *currentArg = 0; while (as.is_anything_left ()) { if ((currentArg = as.get_the_parameter (ACE_TEXT ("-NumThreads")))) { int num = ACE_OS::atoi (currentArg); if (num >= 1) threadCnt = num; as.consume_arg (); } else as.ignore_arg (); } if (failPrePostInit_ < 3) { ACE_DEBUG ((LM_INFO, ACE_TEXT ("Pre-ORB initialization ...\n"))); // ----------------------------------------------------------------- // Pre-ORB initialization steps necessary for proper DLL ORB // support. // ----------------------------------------------------------------- // Make sure TAO's singleton manager is initialized, and set to not // register itself with the ACE_Object_Manager since it is under the // control of the Service Configurator. If we register with the // ACE_Object_Manager, then the ACE_Object_Manager will still hold // (dangling) references to instances of objects created by this // module and destroyed by this object when it is dynamically // unloaded. int register_with_object_manager = 0; TAO_Singleton_Manager * p_tsm = TAO_Singleton_Manager::instance (); int result = p_tsm->init (register_with_object_manager); if (result == -1) { if (failPrePostInit_ == 0) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Pre-ORB initialization failed.\n"))); return -1; } else if (failPrePostInit_ < 2) { ACE_DEBUG ((LM_WARNING, ACE_TEXT ("Pre-ORB initialization failed (ignored due to FailPrePostInit setting).\n"))); } else { ACE_DEBUG ((LM_INFO, ACE_TEXT ("Pre-ORB initialization failed (ignored due to FailPrePostInit setting).\n"))); } } else { ACE_DEBUG ((LM_INFO, ACE_TEXT ("Pre-ORB initialization done.\n"))); } } // Initialize the ORB ACE_Argv_Type_Converter argcon (argc, argv); mv_orb_ = CORBA::ORB_init (argcon.get_argc (), argcon.get_TCHAR_argv ()); if (CORBA::is_nil (mv_orb_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil ORB\n"))); return -1; } CORBA::Object_var v_poa = mv_orb_->resolve_initial_references ("RootPOA"); mv_rootPOA_ = PortableServer::POA::_narrow (v_poa.in ()); if (CORBA::is_nil (mv_rootPOA_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil RootPOA\n"))); return -1; } mv_poaManager_ = mv_rootPOA_->the_POAManager (); if (CORBA::is_nil (mv_poaManager_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil POAManager\n"))); return -1; } mv_poaManager_->activate (); } catch (...) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("ERROR: exception\n"))); return -1; } mp_barrier_ = new ACE_Thread_Barrier (threadCnt + 1); this->activate (THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, threadCnt); mp_barrier_->wait (); return 0; }
int DllOrb::init (int argc, ACE_TCHAR *argv[]) { int threadCnt = 1; try { ACE_Arg_Shifter as (argc, argv); const ACE_TCHAR *currentArg = 0; while (as.is_anything_left ()) { if (0 != (currentArg = as.get_the_parameter (ACE_TEXT ("-NumThreads")))) { int num = ACE_OS::atoi (currentArg); if (num >= 1) threadCnt = num; as.consume_arg (); } else as.ignore_arg (); } // Initialize the ORB mv_orb_ = CORBA::ORB_init (argc, argv); if (CORBA::is_nil (mv_orb_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil ORB\n"))); return -1; } CORBA::Object_var v_poa = mv_orb_->resolve_initial_references ("RootPOA"); mv_rootPOA_ = PortableServer::POA::_narrow (v_poa.in ()); if (CORBA::is_nil (mv_rootPOA_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil RootPOA\n"))); return -1; } mv_poaManager_ = mv_rootPOA_->the_POAManager (); if (CORBA::is_nil (mv_poaManager_.in ())) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("nil POAManager\n"))); return -1; } mv_poaManager_->activate (); } catch (...) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("ERROR: exception\n"))); return -1; } ACE_auto_ptr_reset (ma_barrier_, new ACE_Thread_Barrier (threadCnt + 1)); this->activate( THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, threadCnt ); ACE_DEBUG ((LM_INFO, ACE_TEXT ("init mp_barrier->wait() ...\n"))); ma_barrier_->wait(); ACE_DEBUG ((LM_INFO, ACE_TEXT ("init mp_barrier->wait() done\n"))); return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR* argv[]) { bool ok = false; DomainParticipantFactory_var dpf; DomainParticipant_var dp_sub, dp_pub; try { dpf = TheParticipantFactoryWithArgs(argc, argv); dp_sub = dpf->create_participant(9, PARTICIPANT_QOS_DEFAULT, 0, DEFAULT_STATUS_MASK); if (!dp_sub) { ACE_DEBUG((LM_ERROR, "ERROR: %P could not create Sub Domain Participant\n")); } else { { // New scope. ACE_Arg_Shifter shifter (argc, argv); while (shifter.is_anything_left ()) { const ACE_TCHAR* x = shifter.get_the_parameter (ACE_TEXT("-value_base")); if (x != NULL) { TestConfig::set (ACE_OS::atoi (x)); } shifter.consume_arg (); } } DomainParticipantQos dp_qos; dpf->get_default_participant_qos(dp_qos); set_qos(dp_qos.user_data.value, TestConfig::PARTICIPANT_USER_DATA()); dp_pub = dpf->create_participant(9, dp_qos, 0, DEFAULT_STATUS_MASK); if (!dp_pub) { ACE_DEBUG((LM_ERROR, "ERROR: %P could not create Domain Participant 2\n")); } else { ok = run_test(dp_sub, dp_pub); if (!ok) { ACE_DEBUG((LM_ERROR, "ERROR: %P from run_test\n")); return -1; } } } } catch (const std::exception& e) { ACE_DEBUG((LM_ERROR, "ERROR: %P Exception thrown: %C\n", e.what())); return -2; } catch (const CORBA::Exception& e) { e._tao_print_exception("ERROR: %P Exception thrown:"); return -2; } catch (const OpenDDS::DCPS::Transport::Exception&) { ACE_DEBUG((LM_ERROR, "ERROR: %P Transport exception thrown\n")); return -2; } catch (...) { ACE_DEBUG((LM_ERROR, "ERROR: %P unknown exception thrown\n")); return -2; } ACE_DEBUG((LM_INFO, "%P Cleaning up test\n")); cleanup(dpf, dp_sub); ACE_OS::sleep(2); cleanup(dpf, dp_pub); TheServiceParticipant->shutdown(); ACE_Thread_Manager::instance()->wait(); return ok ? EXIT_SUCCESS : EXIT_FAILURE; }
int Periodic_Task::init_task (ACE_Arg_Shifter& arg_shifter) { const ACE_TCHAR *current_arg = 0; while (arg_shifter.is_anything_left ()) { if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-JobName")))) { name_ = ACE_TEXT_ALWAYS_CHAR(current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Priority")))) { task_priority_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Period")))) { period_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-ExecTime")))) { exec_time_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Phase")))) { phase_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Iter")))) { iter_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); // create the stat object. ACE_NEW_RETURN (task_stats_, Task_Stats (iter_), -1); if (task_stats_->init () == -1) return -1; } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Load")))) { load_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); return 0; } else { ACE_DEBUG ((LM_DEBUG, "parse Task unknown option %s\n", arg_shifter.get_current ())); if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "name %s, priority %d, period %duS, exec_time %duS, phase %duS, iter %d, load %d\n", name_.c_str(), task_priority_, period_, exec_time_, phase_, iter_, load_)); break; } } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { // Initialize DomainParticipantFactory DDS::DomainParticipantFactory_var dpf = TheParticipantFactoryWithArgs(argc, argv); std::string participant_id; std::vector<std::string> readers; std::vector<std::string> writers; bool reliable = false; int total_readers = 0, total_writers = 0; { // New scope. ACE_Arg_Shifter shifter (argc, argv); while (shifter.is_anything_left ()) { const ACE_TCHAR* x; x = shifter.get_the_parameter (ACE_TEXT("-participant")); if (x != NULL) { participant_id = ACE_TEXT_ALWAYS_CHAR(x); } x = shifter.get_the_parameter (ACE_TEXT("-reader")); if (x != NULL) { readers.push_back(ACE_TEXT_ALWAYS_CHAR(x)); } x = shifter.get_the_parameter (ACE_TEXT("-writer")); if (x != NULL) { writers.push_back(ACE_TEXT_ALWAYS_CHAR(x)); } x = shifter.get_the_parameter (ACE_TEXT("-reliable")); if (x != NULL) { reliable = ACE_OS::atoi(x); } x = shifter.get_the_parameter (ACE_TEXT("-total_readers")); if (x != NULL) { total_readers = ACE_OS::atoi(x); } x = shifter.get_the_parameter (ACE_TEXT("-total_writers")); if (x != NULL) { total_writers = ACE_OS::atoi(x); } shifter.consume_arg (); } } participant_id.resize(12); // Create DomainParticipant DDS::DomainParticipantQos dp_qos; dpf->get_default_participant_qos(dp_qos); dp_qos.user_data.value.length(6); dp_qos.user_data.value[0] = fromhex(participant_id, 0); dp_qos.user_data.value[1] = fromhex(participant_id, 1); dp_qos.user_data.value[2] = fromhex(participant_id, 2); dp_qos.user_data.value[3] = fromhex(participant_id, 3); dp_qos.user_data.value[4] = fromhex(participant_id, 4); dp_qos.user_data.value[5] = fromhex(participant_id, 5); DDS::DomainParticipant_var participant = dpf->create_participant(DOMAIN_ID, dp_qos, 0, OpenDDS::DCPS::DEFAULT_STATUS_MASK); if (!participant) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" create_participant failed!\n")), -1); } // Register TypeSupport TestMsgTypeSupport_var ts = new TestMsgTypeSupportImpl; if (ts->register_type(participant, "") != DDS::RETCODE_OK) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" register_type failed!\n")), -1); } // Create Topic CORBA::String_var type_name = ts->get_type_name(); DDS::Topic_var topic = participant->create_topic("TheTopic", type_name, TOPIC_QOS_DEFAULT, 0, OpenDDS::DCPS::DEFAULT_STATUS_MASK); if (!topic) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" create_topic failed!\n")), -1); } // Create Subscriber DDS::Subscriber_var subscriber = participant->create_subscriber(SUBSCRIBER_QOS_DEFAULT, 0, OpenDDS::DCPS::DEFAULT_STATUS_MASK); if (!subscriber) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" create_subscriber failed!\n")), -1); } const int n_msgs = reliable ? MSGS_PER_WRITER * total_writers : 0; // Create DataReaders for (std::vector<std::string>::iterator pos = readers.begin(), limit = readers.end(); pos != limit; ++pos) { pos->resize(6); DDS::DataReaderListener_var listener(new DataReaderListenerImpl(*pos, n_msgs, reader_done_callback)); DDS::DataReaderQos qos; subscriber->get_default_datareader_qos(qos); qos.user_data.value.length(3); qos.user_data.value[0] = fromhex(*pos, 0); qos.user_data.value[1] = fromhex(*pos, 1); qos.user_data.value[2] = fromhex(*pos, 2); qos.reliability.kind = reliable ? DDS::RELIABLE_RELIABILITY_QOS : DDS::BEST_EFFORT_RELIABILITY_QOS; DDS::DataReader_var reader = subscriber->create_datareader(topic, qos, listener, OpenDDS::DCPS::DEFAULT_STATUS_MASK); if (!reader) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" create_datareader failed!\n")), -1); } TestMsgDataReader_var reader_i = TestMsgDataReader::_narrow(reader); if (!reader_i) { ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("ERROR: %N:%l: main() -") ACE_TEXT(" _narrow failed!\n")), -1); } } WriterTask task(writers, participant, topic, reliable, total_readers); task.activate(DEFAULT_FLAGS, writers.size()); task.wait(); if (!reliable) ACE_OS::sleep(10); else { ACE_Guard<ACE_Thread_Mutex> g(readers_done_lock); while (readers_done != static_cast<int>(readers.size())) readers_done_cond.wait(); // Sleep allows an ACKNACK to be generated. ACE_OS::sleep(3); } // Clean-up! participant->delete_contained_entities(); dpf->delete_participant(participant); TheServiceParticipant->shutdown(); } catch (const CORBA::Exception& e) { e._tao_print_exception("Exception caught in main():"); return -1; } return 0; }
int POA_Holder::init (ACE_Arg_Shifter& arg_shifter) { ACE_DEBUG ((LM_DEBUG, "Init POA\n")); const ACE_TCHAR *current_arg = 0; POA_name_ = ACE_TEXT_ALWAYS_CHAR(arg_shifter.get_current ()); // Read the name of the POA arg_shifter.consume_arg (); while (arg_shifter.is_anything_left ()) { if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-PriorityModel")))) { if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("CLIENT")) == 0) priority_model_ = RTCORBA::CLIENT_PROPAGATED; else priority_model_ = RTCORBA::SERVER_DECLARED; arg_shifter.consume_arg (); server_priority_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Lanes")))) { int lanecount = ACE_OS::atoi (current_arg); lanes_.length (lanecount); arg_shifter.consume_arg (); int l_index = 0; //parse lane values ... while (arg_shifter.is_anything_left ()) { if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-Lane")) == 0) { arg_shifter.consume_arg (); // read priority lanes_[l_index].lane_priority = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); // static thread count lanes_[l_index].static_threads = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); // dynamic thread count lanes_[l_index].dynamic_threads = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); //if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "lane parsed - %d, %d, %d\n", lanes_[l_index].lane_priority, lanes_[l_index].static_threads, lanes_[l_index].dynamic_threads)); l_index++; } else break; } /* while -- lane values */ } /* if -Lanes */ else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-ThreadPool")) == 0) { ACE_DEBUG ((LM_DEBUG, "Thread Pool\n")); arg_shifter.consume_arg (); thread_pool_ = 1; // read priority tp_static_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); tp_dynamic_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); tp_priority_ = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); ACE_DEBUG ((LM_DEBUG, "Thread Pool Initialized\n")); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Bands")))) { ACE_DEBUG ((LM_DEBUG, "Initializing Bands\n")); int bandcount = ACE_OS::atoi (current_arg); bands_.length (bandcount); arg_shifter.consume_arg (); int b_index = 0; //parse band values ... while (arg_shifter.is_anything_left ()) { if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-Band")) == 0) { arg_shifter.consume_arg (); // read low bands_[b_index].low = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); // read high bands_[b_index].high = ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); //if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "band parsed - %d, %d\n", bands_[b_index].low, bands_[b_index].high)); b_index++; } else break; } /* while -- Band values */ ACE_DEBUG ((LM_DEBUG, "Bands Initialized\n")); } /* if -Bands */ else // something else is showing up ... { ACE_DEBUG ((LM_DEBUG, "Finish Init POA\n")); return 0; } } ACE_DEBUG ((LM_DEBUG, "Finish Init POA\n")); return 0; }
int DllOrb::init (int argc, ACE_TCHAR *argv[]) { int result = 0; int threadCnt = this->m_nthreads_; try { ACE_Arg_Shifter as (argc, argv); const ACE_TCHAR *currentArg = 0; while (as.is_anything_left ()) { if (0 != (currentArg = as.get_the_parameter (ACE_TEXT ("-t")))) { int num = ACE_OS::atoi (currentArg); if (num >= 1) threadCnt = num; as.consume_arg (); } else as.ignore_arg (); } if (m_failPrePostInit < 3) { ACE_DEBUG((LM_DEBUG, "TEST (%P|%t) Pre-ORB initialization ...\n")); // ----------------------------------------------------------------- // Pre-ORB initialization steps necessary for proper DLL ORB // support. // ----------------------------------------------------------------- // Make sure TAO's singleton manager is initialized, and set to not // register itself with the ACE_Object_Manager since it is under the // control of the Service Configurator. If we register with the // ACE_Object_Manager, then the ACE_Object_Manager will still hold // (dangling) references to instances of objects created by this // module and destroyed by this object when it is dynamically // unloaded. int register_with_object_manager = 0; TAO_Singleton_Manager * p_tsm = TAO_Singleton_Manager::instance (); result = p_tsm->init (register_with_object_manager); if (result == -1 && m_failPrePostInit == 0) return -1; } // Initialize the ORB mv_orb = CORBA::ORB_init (argc, argv); if (CORBA::is_nil (mv_orb.in ())) return -1; CORBA::Object_var v_poa = mv_orb->resolve_initial_references ("RootPOA"); mv_rootPOA = PortableServer::POA::_narrow (v_poa.in ()); if (CORBA::is_nil (mv_rootPOA.in ())) return -1; mv_poaManager = mv_rootPOA->the_POAManager (); if (CORBA::is_nil (mv_poaManager.in ())) return -1; mv_poaManager->activate (); } catch(CORBA::Exception& ex) { ex._tao_print_exception (ACE_TEXT ("(%P|%t) init failed:")); return -1; } catch (...) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) init failed\n")), -1); } #if defined (ACE_HAS_THREADS) mp_barrier = new ACE_Thread_Barrier (threadCnt + 1); this->activate( THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, threadCnt ); mp_barrier->wait (); #endif return 0; }
int TAO_Notify_Tests_Periodic_Supplier::init_state (ACE_Arg_Shifter& arg_shifter) { // First, let the base class look for options. if (TAO_Notify_Tests_StructuredPushSupplier::init_state (arg_shifter) == -1) return -1; const ACE_TCHAR *current_arg = 0; while (arg_shifter.is_anything_left ()) { if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-EventType")))) { this->event_.type ("*", ACE_TEXT_ALWAYS_CHAR(current_arg)) ; zeroth_event.type ("*", ACE_TEXT_ALWAYS_CHAR(current_arg)) ; arg_shifter.consume_arg (); } else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-FilterLongData")) == 0) // -FilterLongData name value { arg_shifter.consume_arg (); ACE_CString name = ACE_TEXT_ALWAYS_CHAR(arg_shifter.get_current ()); arg_shifter.consume_arg (); CORBA::Long value = (CORBA::Long)ACE_OS::atoi (arg_shifter.get_current ()); arg_shifter.consume_arg (); CORBA::Any buffer; buffer <<= (CORBA::Long) value; this->event_.filter (name.c_str (), buffer); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Priority")))) { priority_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); CORBA::Any buffer; buffer <<= (CORBA::Short) this->priority_; this->event_.qos (CosNotification::Priority, buffer); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Period")))) { period_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-ExecTime")))) { exec_time_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Phase")))) { phase_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Iter")))) { iter_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); if (stats_.init (iter_) == -1) return -1; } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-Load")))) { load_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-RunTime")))) // in seconds { run_time_ = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } else { ACE_DEBUG ((LM_DEBUG, "parse Task unknown option %s\n", arg_shifter.get_current ())); if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "event type %s, priority %d, period %duS, exec_time %duS, phase %duS, iter %d, load %d\n", event_.type(), priority_, period_, exec_time_, phase_, iter_, load_)); break; } } return 0; }