summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryfzhang <yfzhang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-12-04 09:48:23 +0000
committeryfzhang <yfzhang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-12-04 09:48:23 +0000
commit4a24e06f71bf6642f4fffd0ba5f8217d7ddeb927 (patch)
tree430db5210c609e5c19b9d2265dd02c583aabaa56
parent26e235269d5369d1fe926b3e155efe89aa75be0e (diff)
downloadATCD-4a24e06f71bf6642f4fffd0ba5f8217d7ddeb927.tar.gz
add release_guard
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp41
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h5
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl2
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp28
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h100
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff4
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i8
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl3
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp127
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h4
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff10
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i8
12 files changed, 174 insertions, 166 deletions
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp
index a6cad99f25b..b00c6283a02 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp
@@ -265,13 +265,17 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri
CORBA::Long importance;
TimeBase::TimeT deadline;
+ TimeBase::TimeT period;
+ int task_id;
if (CORBA::is_nil (sched_policy))
{
//24 hrs from now - infinity
ACE_Time_Value deadline_tv = ACE_OS::gettimeofday () + ACE_Time_Value (24*60*60,0);
- deadline = deadline_tv.sec () * 1000000 + deadline_tv.usec () * 10; //100s of nanoseconds for TimeBase::TimeT
+ deadline = deadline_tv.sec () * 10000000 + deadline_tv.usec () * 10; //100s of nanoseconds for TimeBase::TimeT
importance = 0;
+ period = 0; //set period 0 as default.
+ task_id = ID_BEGIN ++;
}
else
{
@@ -281,6 +285,8 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri
EDF_Scheduling::SchedulingParameter_var sched_param = sched_param_policy->value ();
deadline = sched_param->deadline;
importance = sched_param->importance;
+ period = sched_param->period;
+ task_id = sched_param->task_id;
#ifdef KOKYU_DSRT_LOGGING
int int_guid;
@@ -297,6 +303,8 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri
guid_copy (sc_qos.guid, *(this->current_->id ()));
sc_qos.deadline = deadline;
sc_qos.importance = importance;
+ sc_qos.task_id = task_id;
+ sc_qos.period = period;
CORBA::Any sc_qos_as_any;
sc_qos_as_any <<= sc_qos;
@@ -379,13 +387,18 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri,
CORBA::Long importance;
TimeBase::TimeT deadline;
+ TimeBase::TimeT period;
+ CORBA::Long task_id;
if (sc.ptr () == 0)
{
+ //Since send_request will add an QoS for any request, why can this case happen?
//24 hrs from now - infinity
ACE_Time_Value deadline_tv = ACE_OS::gettimeofday () + ACE_Time_Value (24*60*60,0);
deadline = deadline_tv.sec ()*1000000 + deadline_tv.usec ()*10; //100s of nanoseconds for TimeBase::TimeT
importance = 0;
+ period = 0;
+ task_id = ID_BEGIN ++;
}
else
{
@@ -401,6 +414,8 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri,
deadline = sc_qos_ptr->deadline;
importance = sc_qos_ptr->importance;
+ period = sc_qos_ptr->period;
+ task_id = sc_qos_ptr->task_id;
guid.length (sc_qos_ptr->guid.length ());
guid_copy (guid, sc_qos_ptr->guid);
@@ -424,15 +439,32 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri,
EDF_Scheduling::SchedulingParameter sched_param;
sched_param.importance = importance;
sched_param.deadline = deadline;
+ sched_param.period = period;
+ sched_param.task_id = task_id;
sched_param_out = this->create_scheduling_parameter (sched_param);
}
EDF_Scheduler_Traits::QoSDescriptor_t qos;
qos.importance_ = importance;
qos.deadline_ = deadline;
+ qos.period_ = period;
+ qos.task_id_ = task_id;
DSUI_EVENT_LOG (EDF_SCHED_FAM, ENTER_SERVER_DISPATCH_SCHEDULE, 0,0,NULL);
+
+/*DTTIME:
+ record the entering dispatcher time on the server side.
+ Tenth Time.
+*/
+#ifdef KOKYU_HAS_RELEASE_GUARD
+ this->kokyu_dispatcher_->release_guard (guid, qos);
+#else
this->kokyu_dispatcher_->schedule (guid, qos);
+#endif
+/*DTTIME:
+ record the leaving dispatcher time on the server side.
+ Eleventh Time.
+*/
DSUI_EVENT_LOG (EDF_SCHED_FAM, LEAVE_SERVER_DISPATCH_SCHEDULE, 0,0,NULL);
#ifdef KOKYU_DSRT_LOGGING
@@ -644,9 +676,10 @@ EDF_Scheduler::receive_other (PortableInterceptor::ClientRequestInfo_ptr ri
ACE_THROW_SPEC ((CORBA::SystemException,
PortableInterceptor::ForwardRequest))
{
- /* receive_reply (ri ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- */
+//Otherwise Segmentation fault when oneway call happens.
+/* receive_reply (ri ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+*/
}
void
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h
index 0e0952fac97..a0c7f96fa9c 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h
@@ -8,6 +8,8 @@
#include "Kokyu_dsrt.h"
#include "Kokyu_dsrt_schedulers_export.h"
#include "tao/LocalObject.h"
+#include "ace/Reactor.h"
+#include "tao/ORB_Core.h"
struct EDF_Scheduler_Traits
{
@@ -23,6 +25,8 @@ struct EDF_Scheduler_Traits
Importance_t importance_;
Time_t deadline_;
+ Time_t period_;
+ int task_id_;
};
typedef _QoSDescriptor_t QoSDescriptor_t;
@@ -201,4 +205,5 @@ public TAO_Local_RefCounted_Object
int ace_sched_scope_;
};
+static int ID_BEGIN = 0;
#endif //EDF_SCHEDULER_H
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl
index feecea50a46..4f16c754a6e 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl
@@ -45,6 +45,8 @@ module EDF_Scheduling
{
TimeBase::TimeT deadline;
long importance;
+ TimeBase::TimeT period;
+ long task_id;
};
local interface SchedulingParameterPolicy
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp
index 15af4a33e5e..b9640a4c8c7 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp
@@ -75,7 +75,7 @@ static const CORBA::Long _oc_EDF_Scheduling_SchedulingParameter[] =
ACE_NTOHL (0x6e675061),
ACE_NTOHL (0x72616d65),
ACE_NTOHL (0x74657200), // name = SchedulingParameter
- 2, // member count
+ 4, // member count
9,
ACE_NTOHL (0x64656164),
ACE_NTOHL (0x6c696e65),
@@ -104,6 +104,32 @@ static const CORBA::Long _oc_EDF_Scheduling_SchedulingParameter[] =
ACE_NTOHL (0x63650000), // name = importance
CORBA::tk_long,
+ 7,
+ ACE_NTOHL (0x70657269),
+ ACE_NTOHL (0x6f640000), // name = period
+ CORBA::tk_alias, // typecode kind for typedefs
+ 56, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x54696d65),
+ ACE_NTOHL (0x42617365),
+ ACE_NTOHL (0x2f54696d),
+ ACE_NTOHL (0x65543a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0
+ 6,
+ ACE_NTOHL (0x54696d65),
+ ACE_NTOHL (0x54000000), // name = TimeT
+ CORBA::tk_ulonglong,
+
+
+ 8,
+ ACE_NTOHL (0x7461736b),
+ ACE_NTOHL (0x5f696400), // name = task_id
+ CORBA::tk_long,
+
};
static CORBA::TypeCode _tc_TAO_tc_EDF_Scheduling_SchedulingParameter (
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h
index 2046a30d347..bfd1d8cdd6f 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h
@@ -86,54 +86,56 @@ namespace TAO
namespace EDF_Scheduling
{
-
+
// TAO_IDL - Generated from
// be/be_type.cpp:258
-
+
struct SchedulingParameter;
-
+
typedef
TAO_Fixed_Var_T<
SchedulingParameter
>
SchedulingParameter_var;
-
+
typedef
SchedulingParameter &
SchedulingParameter_out;
-
+
// TAO_IDL - Generated from
// be/be_visitor_structure/structure_ch.cpp:52
-
+
struct Kokyu_DSRT_Schedulers_Export SchedulingParameter
{
typedef SchedulingParameter_var _var_type;
-
+
static void _tao_any_destructor (void *);
TimeBase::TimeT deadline;
CORBA::Long importance;
+ TimeBase::TimeT period;
+ CORBA::Long task_id;
};
-
+
// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_decl.cpp:44
-
+
TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_SchedulingParameter;
-
+
// TAO_IDL - Generated from
// be/be_interface.cpp:612
#if !defined (_EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY__VAR_OUT_CH_)
#define _EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY__VAR_OUT_CH_
-
+
class SchedulingParameterPolicy;
typedef SchedulingParameterPolicy *SchedulingParameterPolicy_ptr;
-
+
typedef
TAO_Objref_Var_T<
SchedulingParameterPolicy
>
SchedulingParameterPolicy_var;
-
+
typedef
TAO_Objref_Out_T<
SchedulingParameterPolicy
@@ -141,48 +143,48 @@ namespace EDF_Scheduling
SchedulingParameterPolicy_out;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ch.cpp:54
#if !defined (_EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY_CH_)
#define _EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY_CH_
-
+
class Kokyu_DSRT_Schedulers_Export SchedulingParameterPolicy
: public virtual CORBA::Policy
{
public:
typedef SchedulingParameterPolicy_ptr _ptr_type;
typedef SchedulingParameterPolicy_var _var_type;
-
+
// The static operations.
static SchedulingParameterPolicy_ptr _duplicate (SchedulingParameterPolicy_ptr obj);
-
+
static SchedulingParameterPolicy_ptr _narrow (
CORBA::Object_ptr obj
ACE_ENV_ARG_DECL_WITH_DEFAULTS
);
-
+
static SchedulingParameterPolicy_ptr _nil (void)
{
return (SchedulingParameterPolicy_ptr)0;
}
static void _tao_any_destructor (void *);
-
+
// TAO_IDL - Generated from
// be/be_visitor_operation/operation_ch.cpp:46
-
+
virtual ::EDF_Scheduling::SchedulingParameter value (
ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
)
ACE_THROW_SPEC ((
CORBA::SystemException
)) = 0;
-
+
// TAO_IDL - Generated from
// be/be_visitor_operation/operation_ch.cpp:46
-
+
virtual void value (
const EDF_Scheduling::SchedulingParameter & value
ACE_ENV_ARG_DECL_WITH_DEFAULTS
@@ -190,53 +192,53 @@ namespace EDF_Scheduling
ACE_THROW_SPEC ((
CORBA::SystemException
)) = 0;
-
+
// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ch.cpp:192
-
+
virtual CORBA::Boolean _is_a (
const char *type_id
ACE_ENV_ARG_DECL_WITH_DEFAULTS
);
-
+
virtual const char* _interface_repository_id (void) const;
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
-
+
protected:
// Abstract or local interface only.
SchedulingParameterPolicy (void);
-
+
virtual ~SchedulingParameterPolicy (void);
-
+
private:
// Private and unimplemented for concrete interfaces.
SchedulingParameterPolicy (const SchedulingParameterPolicy &);
-
+
void operator= (const SchedulingParameterPolicy &);
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_decl.cpp:44
-
+
TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_SchedulingParameterPolicy;
-
+
// TAO_IDL - Generated from
// be/be_interface.cpp:612
#if !defined (_EDF_SCHEDULING_SCHEDULER__VAR_OUT_CH_)
#define _EDF_SCHEDULING_SCHEDULER__VAR_OUT_CH_
-
+
class Scheduler;
typedef Scheduler *Scheduler_ptr;
-
+
typedef
TAO_Objref_Var_T<
Scheduler
>
Scheduler_var;
-
+
typedef
TAO_Objref_Out_T<
Scheduler
@@ -244,38 +246,38 @@ namespace EDF_Scheduling
Scheduler_out;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ch.cpp:54
#if !defined (_EDF_SCHEDULING_SCHEDULER_CH_)
#define _EDF_SCHEDULING_SCHEDULER_CH_
-
+
class Kokyu_DSRT_Schedulers_Export Scheduler
: public virtual RTScheduling::Scheduler
{
public:
typedef Scheduler_ptr _ptr_type;
typedef Scheduler_var _var_type;
-
+
// The static operations.
static Scheduler_ptr _duplicate (Scheduler_ptr obj);
-
+
static Scheduler_ptr _narrow (
CORBA::Object_ptr obj
ACE_ENV_ARG_DECL_WITH_DEFAULTS
);
-
+
static Scheduler_ptr _nil (void)
{
return (Scheduler_ptr)0;
}
-
+
static void _tao_any_destructor (void *);
-
+
// TAO_IDL - Generated from
// be/be_visitor_operation/operation_ch.cpp:46
-
+
virtual ::EDF_Scheduling::SchedulingParameterPolicy_ptr create_scheduling_parameter (
const EDF_Scheduling::SchedulingParameter & value
ACE_ENV_ARG_DECL_WITH_DEFAULTS
@@ -283,24 +285,24 @@ namespace EDF_Scheduling
ACE_THROW_SPEC ((
CORBA::SystemException
)) = 0;
-
+
// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ch.cpp:192
-
+
virtual CORBA::Boolean _is_a (
const char *type_id
ACE_ENV_ARG_DECL_WITH_DEFAULTS
);
-
+
virtual const char* _interface_repository_id (void) const;
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
-
+
protected:
// Abstract or local interface only.
Scheduler (void);
-
+
virtual ~Scheduler (void);
-
+
private:
// Private and unimplemented for concrete interfaces.
Scheduler (const Scheduler &);
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff
index 57948652b95..d1505d6d604 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff
@@ -1,5 +1,5 @@
---- EDF_SchedulingC.h.orig 2003-11-11 11:20:37.000000000 -0600
-+++ EDF_SchedulingC.h 2003-11-11 11:22:34.000000000 -0600
+--- EDF_SchedulingC.h.orig 2003-12-04 00:55:30.000000000 -0600
++++ EDF_SchedulingC.h 2003-12-04 00:55:53.000000000 -0600
@@ -44,8 +44,8 @@
#include "tao/Objref_VarOut_T.h"
#include "tao/VarOut_T.h"
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i
index 01800d7f7bf..bdc25a22993 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i
+++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i
@@ -37,7 +37,9 @@ CORBA::Boolean operator<< (
{
return
(strm << _tao_aggregate.deadline) &&
- (strm << _tao_aggregate.importance);
+ (strm << _tao_aggregate.importance) &&
+ (strm << _tao_aggregate.period) &&
+ (strm << _tao_aggregate.task_id);
}
ACE_INLINE
@@ -48,6 +50,8 @@ CORBA::Boolean operator>> (
{
return
(strm >> _tao_aggregate.deadline) &&
- (strm >> _tao_aggregate.importance);
+ (strm >> _tao_aggregate.importance) &&
+ (strm >> _tao_aggregate.period) &&
+ (strm >> _tao_aggregate.task_id);
}
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl
index 69997034657..e9d9ae709dd 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl
@@ -52,6 +52,9 @@ module Kokyu
RTCORBA::Priority desired_priority;
TimeBase::TimeT deadline;
TimeBase::TimeT estimated_initial_execution_time;
+ TimeBase::TimeT period;
+ long task_id;
+// And deadline info in QoS is a subdeadline for a subtask or a task deadline.
};
};
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp
index 0f6683a71bb..413c3c63ad6 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp
@@ -168,7 +168,7 @@ static const CORBA::Long _oc_Kokyu_Svc_Ctxt_DSRT_QoS[] =
ACE_NTOHL (0x5f445352),
ACE_NTOHL (0x545f516f),
ACE_NTOHL (0x53000000), // name = Svc_Ctxt_DSRT_QoS
- 6, // member count
+ 8, // member count
5,
ACE_NTOHL (0x67756964),
ACE_NTOHL (0x0), // name = guid
@@ -284,6 +284,32 @@ static const CORBA::Long _oc_Kokyu_Svc_Ctxt_DSRT_QoS[] =
CORBA::tk_ulonglong,
+ 7,
+ ACE_NTOHL (0x70657269),
+ ACE_NTOHL (0x6f640000), // name = period
+ CORBA::tk_alias, // typecode kind for typedefs
+ 56, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x54696d65),
+ ACE_NTOHL (0x42617365),
+ ACE_NTOHL (0x2f54696d),
+ ACE_NTOHL (0x65543a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0
+ 6,
+ ACE_NTOHL (0x54696d65),
+ ACE_NTOHL (0x54000000), // name = TimeT
+ CORBA::tk_ulonglong,
+
+
+ 8,
+ ACE_NTOHL (0x7461736b),
+ ACE_NTOHL (0x5f696400), // name = task_id
+ CORBA::tk_long,
+
};
static CORBA::TypeCode _tc_TAO_tc_Kokyu_Svc_Ctxt_DSRT_QoS (
@@ -523,102 +549,3 @@ CORBA::Boolean operator>> (
#endif /* _TAO_CDR_OP_Kokyu_GuidType_CPP_ */
-// TAO_IDL - Generated from
-// be/be_visitor_root/root.cpp:1702
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
- template class
- TAO_FixedSeq_Var_T<
- Kokyu::GuidType,
- CORBA::Octet
- >;
-
- template class
- TAO_Seq_Var_Base_T<
- Kokyu::GuidType,
- CORBA::Octet
- >;
-
- template class
- TAO_Seq_Out_T<
- Kokyu::GuidType,
- Kokyu::GuidType_var,
- CORBA::Octet
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- Kokyu::GuidType
- >;
-
- template class
- TAO_Var_Var_T<
- Kokyu::Svc_Ctxt_DSRT_QoS
- >;
-
- template class
- TAO_Var_Base_T<
- Kokyu::Svc_Ctxt_DSRT_QoS
- >;
-
- template class
- TAO_Out_T<
- Kokyu::Svc_Ctxt_DSRT_QoS,
- Kokyu::Svc_Ctxt_DSRT_QoS_var
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- Kokyu::Svc_Ctxt_DSRT_QoS
- >;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-# pragma instantiate \
- TAO_FixedSeq_Var_T< \
- Kokyu::GuidType, \
- CORBA::Octet \
- >
-
-# pragma instantiate \
- TAO_Seq_Var_Base_T< \
- Kokyu::GuidType, \
- CORBA::Octet \
- >
-
-# pragma instantiate \
- TAO_Seq_Out_T< \
- Kokyu::GuidType, \
- Kokyu::GuidType_var, \
- CORBA::Octet \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- Kokyu::GuidType \
- >
-
-# pragma instantiate \
- TAO_Var_Var_T< \
- Kokyu::Svc_Ctxt_DSRT_QoS \
- >
-
-# pragma instantiate \
- TAO_Var_Base_T< \
- Kokyu::Svc_Ctxt_DSRT_QoS \
- >
-
-# pragma instantiate \
- TAO_Out_T< \
- Kokyu::Svc_Ctxt_DSRT_QoS, \
- Kokyu::Svc_Ctxt_DSRT_QoS_var \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- Kokyu::Svc_Ctxt_DSRT_QoS \
- >
-
-#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h
index 56aef90a84a..efa03800bad 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h
@@ -169,6 +169,8 @@ namespace Kokyu
RTCORBA::Priority desired_priority;
TimeBase::TimeT deadline;
TimeBase::TimeT estimated_initial_execution_time;
+ TimeBase::TimeT period;
+ CORBA::Long task_id;
};
// TAO_IDL - Generated from
@@ -182,7 +184,7 @@ namespace Kokyu
} // module Kokyu
// TAO_IDL - Generated from
-// be/be_visitor_traits.cpp:48
+// be/be_visitor_traits.cpp:50
// Traits specializations.
namespace TAO
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff
index 6d155e3f8dd..e02fdf5ae02 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff
@@ -1,9 +1,9 @@
---- Kokyu_qosC.h.orig Mon Sep 1 11:01:16 2003
-+++ Kokyu_qosC.h Mon Sep 1 11:01:28 2003
-@@ -39,7 +39,7 @@
- #endif /* ACE_LACKS_PRAGMA_ONCE */
-
+--- Kokyu_qosC.h.orig 2003-12-04 00:40:48.000000000 -0600
++++ Kokyu_qosC.h 2003-12-04 00:41:10.000000000 -0600
+@@ -45,7 +45,7 @@
+ #include "tao/VarOut_T.h"
+ #include "TimeBaseC.h"
-#include "tao/RTCORBA/RTCORBAC.h"
+#include "tao/RTCORBA/RTCORBA.h"
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i
index 6644f932d8d..ee9b6bcc39d 100644
--- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i
@@ -59,7 +59,9 @@ CORBA::Boolean operator<< (
(strm << _tao_aggregate.criticality) &&
(strm << _tao_aggregate.desired_priority) &&
(strm << _tao_aggregate.deadline) &&
- (strm << _tao_aggregate.estimated_initial_execution_time);
+ (strm << _tao_aggregate.estimated_initial_execution_time) &&
+ (strm << _tao_aggregate.period) &&
+ (strm << _tao_aggregate.task_id);
}
ACE_INLINE
@@ -74,6 +76,8 @@ CORBA::Boolean operator>> (
(strm >> _tao_aggregate.criticality) &&
(strm >> _tao_aggregate.desired_priority) &&
(strm >> _tao_aggregate.deadline) &&
- (strm >> _tao_aggregate.estimated_initial_execution_time);
+ (strm >> _tao_aggregate.estimated_initial_execution_time) &&
+ (strm >> _tao_aggregate.period) &&
+ (strm >> _tao_aggregate.task_id);
}