diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
commit | c4078c377d74290ebe4e66da0b4975da91732376 (patch) | |
tree | 1816ef391e42a07929304908ac0e21f4c2f6cb7b /ACE/Kokyu/tests/EDF | |
parent | 700d1c1a6be348c6c70a2085e559baeb8f4a62ea (diff) | |
download | ATCD-c4078c377d74290ebe4e66da0b4975da91732376.tar.gz |
swap in externals for ACE and TAO
Diffstat (limited to 'ACE/Kokyu/tests/EDF')
-rw-r--r-- | ACE/Kokyu/tests/EDF/EDF.mpc | 6 | ||||
-rw-r--r-- | ACE/Kokyu/tests/EDF/Makefile.am | 36 | ||||
-rw-r--r-- | ACE/Kokyu/tests/EDF/README | 24 | ||||
-rw-r--r-- | ACE/Kokyu/tests/EDF/test.cpp | 162 |
4 files changed, 0 insertions, 228 deletions
diff --git a/ACE/Kokyu/tests/EDF/EDF.mpc b/ACE/Kokyu/tests/EDF/EDF.mpc deleted file mode 100644 index d0c7749e28e..00000000000 --- a/ACE/Kokyu/tests/EDF/EDF.mpc +++ /dev/null @@ -1,6 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project: kokyu { - exename = EDF -} diff --git a/ACE/Kokyu/tests/EDF/Makefile.am b/ACE/Kokyu/tests/EDF/Makefile.am deleted file mode 100644 index 9aa8fcdf71d..00000000000 --- a/ACE/Kokyu/tests/EDF/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - -## Makefile.EDF.am - -noinst_PROGRAMS = EDF - -EDF_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/Kokyu - -EDF_SOURCES = \ - test.cpp - -EDF_LDADD = \ - $(top_builddir)/Kokyu/libKokyu.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/Kokyu/tests/EDF/README b/ACE/Kokyu/tests/EDF/README deleted file mode 100644 index 4f209605e14..00000000000 --- a/ACE/Kokyu/tests/EDF/README +++ /dev/null @@ -1,24 +0,0 @@ -This example is a very simple example, showing how to use the Kokyu -dispatcher to dispatch command objects in a EDF manner. The test -configures the Kokyu dispatcher with a single EDF lane. Typically this -would be done by an EDF scheduler which assigns priorities to tasks -based on the deadlines for tasks. To ensure that the command objects -enqueued in the dispatcher are dispatched in the correct order, we -enqueue the command objects and *then* activate the dispatcher. Only -when the dispatcher is activated, the thread watching each dispatch -queue starts running. - -To run this example, - -./test -p<fifo|rr|other> - -The following is the expected output - -Deadline of command1 is 1065966081 -Deadline of command2 is 1065966131 -Deadline of command3 is 1065966031 -command 3 executed -command 1 executed -command 2 executed - -Note that the deadlines are absolute deadlines. diff --git a/ACE/Kokyu/tests/EDF/test.cpp b/ACE/Kokyu/tests/EDF/test.cpp deleted file mode 100644 index 0c6939ee613..00000000000 --- a/ACE/Kokyu/tests/EDF/test.cpp +++ /dev/null @@ -1,162 +0,0 @@ -// $Id$ - -#include "ace/Auto_Ptr.h" - -#include "Kokyu.h" -#include "ace/Task.h" -#include "ace/Sched_Params.h" -#include "ace/SString.h" -#include "ace/Get_Opt.h" -#include "ace/OS_NS_strings.h" -#include "ace/OS_NS_sys_time.h" - -ACE_CString sched_policy_str = "fifo"; - -int parse_args (int argc, ACE_TCHAR *argv[]); - -class MyCommand : public Kokyu::Dispatch_Command -{ -public: - MyCommand(int i) - :Kokyu::Dispatch_Command(1),id_(i) - { - } - int execute(); - -private: - int id_; -}; - -int MyCommand::execute() -{ - ACE_hthread_t thr_handle; - ACE_Thread::self (thr_handle); - int prio; - - if (ACE_Thread::getprio (thr_handle, prio) == -1) - { - if (errno == ENOTSUP) - { - ACE_DEBUG((LM_DEBUG, - ACE_TEXT ("getprior not supported on this platform\n") - )); - return 0; - } - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("getprio failed")), - -1); - } - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%t|prio=%d) | command %d executed\n"), - prio, id_)); - return 0; -} - -int ACE_TMAIN (int argc, ACE_TCHAR** argv) -{ - Kokyu::ConfigInfoSet config_info(3); - - int sched_policy=ACE_SCHED_FIFO; - - Kokyu::Dispatcher_Attributes attrs; - - if (parse_args (argc, argv) == -1) - return 0; - - if (ACE_OS::strcasecmp(sched_policy_str.c_str(), "fifo") == 0) - { - sched_policy = ACE_SCHED_FIFO; - } - else if (ACE_OS::strcasecmp(sched_policy_str.c_str(), "other") == 0) - { - sched_policy = ACE_SCHED_OTHER; - } - else if (ACE_OS::strcasecmp(sched_policy_str.c_str(), "rr") == 0) - { - sched_policy = ACE_SCHED_RR; - } - - attrs.sched_policy (sched_policy); - - Kokyu::Priority_t min_prio = - ACE_Sched_Params::priority_min (sched_policy); - - config_info[0].preemption_priority_ = 1; - config_info[0].thread_priority_ = min_prio; - config_info[0].dispatching_type_ = Kokyu::DEADLINE_DISPATCHING; - - ACE_DEBUG ((LM_DEBUG, "before create_dispatcher\n" )); - - attrs.config_info_set_ = config_info; - auto_ptr<Kokyu::Dispatcher> - disp (Kokyu::Dispatcher_Factory::create_dispatcher (attrs)); - - ACE_ASSERT (disp.get() != 0); - - MyCommand cmd1(1), cmd2(2), cmd3(3); - - Kokyu::QoSDescriptor qos1, qos2, qos3; - - // Get the current time. - ACE_Time_Value current_time = ACE_OS::gettimeofday (); - - ACE_Time_Value deadline1, deadline2, deadline3; - - deadline1 = current_time + ACE_Time_Value(150,0); - deadline2 = current_time + ACE_Time_Value(200,0); - deadline3 = current_time + ACE_Time_Value(100,0); - - qos1.preemption_priority_ = 1; - qos1.deadline_ = deadline1; - qos2.preemption_priority_ = 1; - qos2.deadline_ = deadline2; - qos3.preemption_priority_ = 1; - qos3.deadline_ = deadline3; - - ACE_DEBUG ((LM_DEBUG, "Deadline of command1 is %d\n", - qos1.deadline_.sec ())); - disp->dispatch (&cmd1, qos1); - - ACE_DEBUG ((LM_DEBUG, "Deadline of command2 is %d\n", - qos2.deadline_.sec ())); - disp->dispatch (&cmd2, qos2); - - ACE_DEBUG ((LM_DEBUG, "Deadline of command3 is %d\n", - qos3.deadline_.sec ())); - disp->dispatch (&cmd3, qos3); - - disp->activate (); - - disp->shutdown (); - - ACE_DEBUG ((LM_DEBUG, "after shutdown\n")); - - return 0; -} - -int parse_args (int argc, ACE_TCHAR *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("p:")); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'p': - sched_policy_str = ACE_TEXT_ALWAYS_CHAR(get_opts.opt_arg ()); - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s %s" - "\n", - argv [0], - "-p <fifo|rr|other>"), - -1); - } - // Indicates sucessful parsing of the command line - return 0; -} |