summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
-rw-r--r--TAO/orbsvcs/orbsvcs/Channel_Clients.cpp1
-rw-r--r--TAO/orbsvcs/orbsvcs/Channel_Clients.h26
-rw-r--r--TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp12
-rw-r--r--TAO/orbsvcs/orbsvcs/Channel_Clients_T.h88
-rw-r--r--TAO/orbsvcs/orbsvcs/CosNaming.idl207
-rw-r--r--TAO/orbsvcs/orbsvcs/Event_Service_Constants.h93
-rw-r--r--TAO/orbsvcs/orbsvcs/Event_Utilities.cpp131
-rw-r--r--TAO/orbsvcs/orbsvcs/Event_Utilities.h222
-rw-r--r--TAO/orbsvcs/orbsvcs/Event_Utilities.i99
-rw-r--r--TAO/orbsvcs/orbsvcs/Makefile83
-rw-r--r--TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl70
-rw-r--r--TAO/orbsvcs/orbsvcs/RtecEventComm.idl51
-rw-r--r--TAO/orbsvcs/orbsvcs/RtecScheduler.idl222
-rw-r--r--TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp173
-rw-r--r--TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h96
-rw-r--r--TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i5
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp246
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Factory.h98
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Factory.i6
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h46
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i32
-rw-r--r--TAO/orbsvcs/orbsvcs/orbsvcs.dsw29
-rw-r--r--TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp425
24 files changed, 0 insertions, 2475 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp b/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients.h b/TAO/orbsvcs/orbsvcs/Channel_Clients.h
deleted file mode 100644
index 487e688eb2c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Channel_Clients.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-//
-// ============================================================================
-//
-// = LIBRARY
-// ace
-//
-// = FILENAME
-// Channel_Clients
-//
-// = AUTHOR
-// Tim Harrison (harrison@cs.wustl.edu)
-//
-// ============================================================================
-
-#ifndef ACE_CHANNEL_CLIENTS_H
-#define ACE_CHANNEL_CLIENTS_H
-
-#include "orbsvcs/Channel_Clients_T.h"
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Channel_Clients.i"
-#endif /* __ACE_INLINE__ */
-#endif /* ACE_CHANNEL_CLIENTS_H */
-
diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp
deleted file mode 100644
index 64704ad2060..00000000000
--- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// $Id$
-
-#ifndef ACE_CHANNEL_CLIENTS_T_C
-#define ACE_CHANNEL_CLIENTS_T_C
-
-#include "orbsvcs/Channel_Clients_T.h"
-
-#if !defined (__ACE_INLINE__)
-#include "orbsvcs/Channel_Clients_T.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* ACE_CHANNEL_CLIENTS_T_C */
diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h
deleted file mode 100644
index 1dd52e82ea6..00000000000
--- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- C++ -*- */
-// $Id $
-//
-// ============================================================================
-//
-// = LIBRARY
-// ace
-//
-// = FILENAME
-// Channel_Clients_T
-//
-// = AUTHOR
-// Tim Harrison (harrison@cs.wustl.edu) and
-// Douglas Schmidt (schmidt@cs.wustl.edu)
-//
-// = DESCRIPTION
-// These classes allow applications to be consumer, suppliers, and
-// consumer suppliers, as well as being active objects. This is
-// accomplished with adapters to prevent the use of multiple
-// inheritence (which is this root of all evil.)
-//
-// ============================================================================
-
-#ifndef ACE_CHANNEL_CLIENTS_T_H
-#define ACE_CHANNEL_CLIENTS_T_H
-
-#include "orbsvcs/RtecEventCommC.h"
-
-// TODO: Add throw specs to this classes.
-
-template <class TARGET>
-class ACE_PushConsumer_Adapter : public RtecEventComm::PushConsumer
-// = TITLE
-// ACE Push Consumer Adapter
-//
-// = DESCRIPTION
-// Forwards all calls to the owner_.
-{
-public:
- ACE_PushConsumer_Adapter (TARGET *target);
- // Forwards all calls to <owner>.
-
- virtual void push (const RtecEventComm::EventSet& events,
- CORBA::Environment &);
- // Forwards to target_.
-
- virtual void disconnect_push_consumer (CORBA::Environment &);
- // Forwards to target_.
-
-private:
- TARGET *target_;
-};
-
-// ************************************************************
-
-template <class TARGET>
-class ACE_PushSupplier_Adapter : public RtecEventComm::PushSupplier
-// = TITLE
-// ACE Push Supplier Adapter
-//
-// = DESCRIPTION
-// Forwards all calls to disconnect_push_supplier the target_.
-{
-public:
- ACE_PushSupplier_Adapter (TARGET *target);
- // Forwards all calls to <owner>.
-
- virtual void disconnect_push_supplier (CORBA::Environment &);
- // Forwards to target_.
-
-private:
- TARGET *target_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Channel_Clients_T.i"
-#endif /* __ACE_INLINE__ */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "orbsvcs/Channel_Clients_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Channel_Clients_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#endif /* ACE_CHANNEL_CLIENTS_T_H */
-
diff --git a/TAO/orbsvcs/orbsvcs/CosNaming.idl b/TAO/orbsvcs/orbsvcs/CosNaming.idl
deleted file mode 100644
index 770a2adea9f..00000000000
--- a/TAO/orbsvcs/orbsvcs/CosNaming.idl
+++ /dev/null
@@ -1,207 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// cos
-//
-// = FILENAME
-// CosNaming.idl
-//
-// = AUTHOR
-// Marina Spivak
-//
-// ============================================================================
-
-module CosNaming
- // = TITLE
- // This module provides interface for using COS Naming Service.
-{
- typedef string Istring;
- struct NameComponent
- {
- Istring id;
- // This is the name that is used to identify object references.
-
- Istring kind;
- // Stores any addtional info about the object reference.
- };
- // This is a 'simple' name.
- // NOTE: both id and kind fields are used in resolving names.
-
- typedef sequence <NameComponent> Name;
- // This is a compound name: <c1; c2; c3; cn> where c1 to cn-1 are
- // the names of the nested contexts, and cn is the name of the
- // object bound in cn-1.
-
- enum BindingType
- {
- nobject,
- // object binding.
-
- ncontext
- // naming context binding.
- };
-
- struct Binding
- {
- Name binding_name;
- BindingType binding_type;
- };
-
- typedef sequence <Binding> BindingList;
-
- interface BindingIterator;
- // Forward declaration.
-
- interface NamingContext
- // = TITLE
- // Interface for managing name bindings and naming contexts.
- {
- // = Exceptions.
-
- enum NotFoundReason
- {
- missing_node,
- not_context,
- not_object
- };
-
- exception NotFound
- {
- NotFoundReason why;
- Name rest_of_name;
- };
- // Indicates that the name does not identify a binding.
-
- exception CannotProceed
- {
- //Commented out due to the bug in Orbix compiler
- NamingContext cxt;
- Name rest_of_name;
- };
- // Implementation has given up for some reason. The client,
- // however, may be able to continue operation at the returned
- // naming context.
-
- exception InvalidName {};
- // A name of length 0 is invalid.
- // Implementations may place further restrictions.
-
- exception AlreadyBound {};
- // Indicates that the specified name is already bound to some
- // object. Only one object can be bound to a particular name in
- // a context. To change the binding, <rebind> and
- // <rebind_context> can be used.
-
- exception NotEmpty {};
- // Indicates that the context is not empty.
-
- // = Binding operations.
-
- void bind (in Name n, in Object obj)
- raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
- // create a binding for name <n> and object <obj> in the naming
- // context. Compound names are treated as follows: ctx->bind
- // (<c1; c2; c3; cn>, obj) = (ctx->resolve (<c1; c2;
- // cn-1>))->bind (<cn>, obj) if the there already exists a
- // binding for the specified name, <AlreadyBound> exception is
- // thrown. Naming contexts should be bound using <bind_context>
- // and <rebind_context> in order to participate in name
- // resolution later.
-
- void rebind (in Name n, in Object obj)
- raises(NotFound, CannotProceed, InvalidName);
- // this is similar to <bind> operation above, except for when
- // the binding for the specified name already exists in the
- // specified context. In that case, the existing binding is
- // replaced with the new one.
-
- void bind_context (in Name n, in NamingContext nc)
- raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
- // This is the version of <bind> specifically for binding naming
- // contexts, so that they will participate in name resolution
- // when compound names are passed to be resolved.
-
- void rebind_context (in Name n, in NamingContext nc)
- raises(NotFound, CannotProceed, InvalidName);
- // This is a version of <rebind> specifically for naming
- // contexts, so that they can participate in name resolution
- // when compound names are passed.
-
- // = Resolving names.
-
- Object resolve (in Name n)
- raises(NotFound, CannotProceed, InvalidName);
- // Return object reference that is bound to the name. Compound
- // name resolve is defined as follows: ctx->resolve (<c1; c2;
- // cn>) = ctx->resolve (<c1; c2 cn-1>)->resolve (<cn>) The
- // naming service does not return the type of the object.
- // Clients are responsible for "narrowing" the object to the
- // appropriate type.
-
- // = Unbinding names.
-
- void unbind (in Name n)
- raises(NotFound, CannotProceed, InvalidName);
- // Remove the name binding from the context. When compound
- // names are used, unbind is defined as follows: ctx->unbind
- // (<c1; c2; cn>) = (ctx->resolve (<c1; c2; cn-1>))->unbind
- // (<cn>)
-
- // = Creating Naming Contexts.
-
- NamingContext new_context ();
- // This operation returns a new naming context implemented by
- // the same naming server in which the operation was invoked.
- // The context is not bound.
-
- NamingContext bind_new_context (in Name n)
- raises(NotFound, AlreadyBound, CannotProceed, InvalidName);
- // This operation creates a new context and binds it to the name
- // supplied as an argument. The newly-created context is
- // implemented by the same server as the context in which it was
- // bound (the name argument excluding the last component).
-
- // = Deleting contexts.
-
- void destroy ()
- raises (NotEmpty);
- // Delete the naming context. NOTE: the user should <unbind>
- // any bindings in which the given context is bound to some
- // names before invoking <destroy> operation on it. Ignoring
- // this rule may cause unexpected behaviour. <destroy> deletes
- // the context object if it is not bound to any names in the
- // given address space. <destroys> decrements the reference
- // count of the context if bindings to it exist.
-
- // = Listing the naming context.
-
- void list (in unsigned long how_many,
- out BindingList bl, out BindingIterator bi);
- // Returns at most the requested number of bindings <how_many>
- // in <bl>. If the naming context contains additional bindings,
- // they are returned with a BindingIterator. In the naming
- // context does not contain any additional bindings <bi>
- // returned as null.
- };
-
- interface BindingIterator
- // = TITLE
- // Interface for iterating over Bindings returned with the <list>
- // operation.
- {
- boolean next_one (out Binding b);
- // This operation returns the next binding. If there are no
- // more bindings false is returned.
-
- boolean next_n (in unsigned long how_many,
- out BindingList bl);
- // This operation returns at most the requested number of
- // bindings.
-
- void destroy ();
- // This operation destroys the iterator.
- };
-};
diff --git a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h b/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h
deleted file mode 100644
index d65f865139a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// $Id$
-//
-// = DESCRIPTION
-// Keep constants required by both Event Service implementation and
-// the Scheduling Service implementation.
-//
-
-#if !defined (ACE_ES_CONSTANTS_H)
-#define ACE_ES_CONSTANTS_H
-
-#include "ace/Message_Block.h"
-#include "ace/Synch.h"
-
-const int ACE_ES_MAX_SUBSCRIPTIONS = 32;
-// This is the number of events a consumer can subscribe to.
-
-//const int ACE_ES_MAX_SUPPLIERS = 100;
-// Max number of suppliers that a channel can handle.
-
-const int ACE_ES_MAX_CONSUMERS_PER_SUPPLIER = 100;
-// Max number of consumers that one supplier can have subscribed to
-// one type of event (including source-only). This restriction is
-// very lightweight since subscription lists are dynamic. This
-// constant is only used for ACE_ES_Simple_Set in Event_Channel.* for
-// disconnecting consumers. Since these objects are allocated off the
-// stack, we can increase this number without requiring more heap
-// memory.
-
-// = Predefined event types. All application defined types should be
-// relative to ACE_ES_EVENT_UNDEFINED.
-const u_long ACE_ES_EVENT_ANY = 0;
-const u_long ACE_ES_EVENT_SHUTDOWN = 1;
-const u_long ACE_ES_EVENT_ACT = 2;
-const u_long ACE_ES_EVENT_NOTIFICATION = 3;
-const u_long ACE_ES_EVENT_TIMEOUT = 4;
-const u_long ACE_ES_EVENT_INTERVAL_TIMEOUT = 5;
-const u_long ACE_ES_EVENT_DEADLINE_TIMEOUT = 6;
-const u_long ACE_ES_GLOBAL_DESIGNATOR = 7;
-const u_long ACE_ES_CONJUNCTION_DESIGNATOR = 8;
-const u_long ACE_ES_DISJUNCTION_DESIGNATOR = 9;
-const u_long ACE_ES_EVENT_UNDEFINED = 16;
-
-// The max number of priorities provided by the target platform.
-// TODO: This should be defined in ACE (somehow) and only mapped here
-// to some variables (and even that is doubtful).
-const long ACE_Scheduler_MAX_PRIORITIES = 5;
-
-const u_long ACE_Scheduler_Rates[ACE_Scheduler_MAX_PRIORITIES] = {
- 250000, 500000, 1000000, 2000000, 10000000 };
-
-// The minimum preemption priority.
-const long ACE_Scheduler_MIN_PREEMPTION_PRIORITY =
- ACE_Scheduler_MAX_PRIORITIES - 1;
-// Max preemption priority.
-const long ACE_Scheduler_MAX_PREEMPTION_PRIORITY = 0;
-
-// This is the maximum sub priority.
-const u_long ACE_Scheduler_MAX_SUB_PRIORITY =
- ACE_Message_Block::MB_USER - 1;
-
-// This is the minimum sub priority.
-const u_long ACE_Scheduler_MIN_SUB_PRIORITY =
- ACE_Message_Block::MB_NORMAL;
-
-typedef ACE_Thread_Mutex ACE_ES_MUTEX;
-typedef ACE_Guard<ACE_ES_MUTEX> ACE_ES_GUARD;
-
-typedef ACE_RW_Thread_Mutex ACE_ES_RW_LOCK;
-typedef ACE_Write_Guard<ACE_ES_RW_LOCK> ACE_ES_WGUARD;
-typedef ACE_Read_Guard<ACE_ES_RW_LOCK> ACE_ES_RGUARD;
-
-// ************************************************************
-// Channel configuration parameters.
-
-// ACE_ES_DISPATCHING_MODULE determines what Dispatching Module is
-// used by the channel. ACE_ES_Dispatching_Base is a null dispatcher
-// that can be used to build an EFD.
-#define ACE_ES_DISPATCHING_MODULE ACE_ES_Priority_Dispatching
-//#define ACE_ES_DISPATCHING_MODULE ACE_ES_Dispatching_Base
-
-// This is the number of threads spawned for *each* priority queue in
-// the channel's Dispatching Module. This is used by the channel when
-// creating the dispatch module.
-const int THREADS_PER_DISPATCH_QUEUE = 1;
-
-// This is the chunk size of the cached allocator for
-// ACE_ES_Event_Container.
-const int ACE_ES_EVENT_CONTAINER_MEMORY_POOL = 1024;
-const int ACE_ES_EVENT_MEMORY_POOL = 1024;
-const int ACE_ES_DISPATCH_REQUEST_MEMORY_POOL = 1024;
-
-#endif /* ACE_ES_CONSTANTS_H */
diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp
deleted file mode 100644
index 256f4d65b73..00000000000
--- a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// $Id$
-//
-#include "orbsvcs/Event_Utilities.h"
-
-#if !defined (__ACE_INLINE__)
-#include "orbsvcs/Event_Utilities.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_ConsumerQOS_Factory::ACE_ConsumerQOS_Factory (void) :
- qos_ (),
- designator_set_ (0)
-{
-}
-
-ACE_ConsumerQOS_Factory::~ACE_ConsumerQOS_Factory (void)
-{
-}
-
-int
-ACE_ConsumerQOS_Factory::start_conjunction_group (void)
-{
- int l = qos_.dependencies.length ();
- qos_.dependencies.length (l + 1);
- qos_.dependencies[l].event_.type_ = ACE_ES_CONJUNCTION_DESIGNATOR;
- // TODO: qos_.dependencies[l].event_.data_.lval (0);
- designator_set_ = 1;
- return 0;
-}
-
-int
-ACE_ConsumerQOS_Factory::start_disjunction_group (void)
-{
- int l = qos_.dependencies.length ();
- qos_.dependencies.length (l + 1);
- qos_.dependencies[l].event_.type_ = ACE_ES_DISJUNCTION_DESIGNATOR;
- // TODO: qos_.dependencies[l].event_.data_.lval (0);
- designator_set_ = 1;
- return 0;
-}
-
-int
-ACE_ConsumerQOS_Factory::insert (const RtecEventChannelAdmin::Dependency &subscribe)
-{
- RtecScheduler::RT_Info dummy;
- // Make sure that a designator is first.
- if (designator_set_ == 0)
- {
- int l = qos_.dependencies.length ();
- qos_.dependencies.length (l + 1);
- qos_.dependencies[l].event_.type_ = ACE_ES_GLOBAL_DESIGNATOR;
- // TODO: IDL union qos_.dependencies[l].event_.data_.lval (0);
- designator_set_ = 1;
- }
-
- int l = qos_.dependencies.length ();
- qos_.dependencies.length (l + 1);
- qos_.dependencies[l] = subscribe;
- // TODO: IDL union qos_.dependencies[l].event_.data_.lval (0);
- return 0;
-}
-
-void event_debug (const char* p,
- const RtecEventComm::Event& event)
-{
- int l = ACE_OS::strlen (p);
- ACE_DEBUG ((LM_DEBUG,
- "%*.*s - event.source: %d\n"
- "%*.*s event.type: %d\n"
- "%*.*s event.time: %f\n",
- l, l, p, event.source_,
- l, l, p, event.type_,
- l, l, p, event.creation_time_));
-}
-
-void
-ACE_ConsumerQOS_Factory::debug (const RtecEventChannelAdmin::ConsumerQOS& qos)
-{
- ACE_DEBUG ((LM_DEBUG, "ConsumerQOS { \n"));
-
- for (u_int i = 0; i < qos.dependencies.length (); ++i)
- {
- char buf[128];
- ACE_OS::sprintf (buf, " dep[%d]", i);
- event_debug (buf, qos.dependencies[i].event_);
- ACE_DEBUG ((LM_DEBUG, "%s rt_info: %d\n",
- buf, qos.dependencies[i].rt_info));
- }
- ACE_DEBUG ((LM_DEBUG, "}\n"));
-}
-
-// ************************************************************
-
-ACE_SupplierQOS_Factory::ACE_SupplierQOS_Factory (void) :
- qos_ ()
-{
-}
-
-int
-ACE_SupplierQOS_Factory::insert (RtecEventComm::EventSourceID sid,
- RtecEventComm::EventType type,
- RtecScheduler::handle_t rt_info,
- u_int ncalls)
-{
- int l = qos_.publications_.length ();
- qos_.publications_.length (l + 1);
- qos_.publications_[l].event_.source_ = sid;
- qos_.publications_[l].event_.type_ = type;
- // TODO: IDL union qos_.publications_[l].event_.data_.lval (0);
- qos_.publications_[l].dependency_info_.rt_info = rt_info;
- qos_.publications_[l].dependency_info_.number_of_calls = ncalls;
- return 0;
-}
-
-void ACE_SupplierQOS_Factory::debug (const RtecEventChannelAdmin::SupplierQOS& qos)
-{
- ACE_DEBUG ((LM_DEBUG, "ConsumerQOS { \n"));
- for (u_int i = 0; i < qos.publications_.length (); ++i)
- {
- char buf[128];
- ACE_OS::sprintf (buf, " publications[%d]", i);
- event_debug (buf, qos.publications_[i].event_);
- ACE_DEBUG ((LM_DEBUG,
- "%s dependency_info.rt_info: %d\n"
- "%s dependency_info.number_of_calls: %d\n",
- buf, qos.publications_[i].dependency_info_.rt_info,
- buf, qos.publications_[i].dependency_info_.number_of_calls));
- }
- ACE_DEBUG ((LM_DEBUG, "}\n"));
-
-}
diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.h b/TAO/orbsvcs/orbsvcs/Event_Utilities.h
deleted file mode 100644
index bd31d8425e7..00000000000
--- a/TAO/orbsvcs/orbsvcs/Event_Utilities.h
+++ /dev/null
@@ -1,222 +0,0 @@
-/* -*- C++ -*- */
-
-// ============================================================================
-//
-// = LIBRARY
-// ace ORB
-//
-// = FILENAME
-// Event_Utilities
-//
-// = AUTHOR
-// Tim Harrison (harrison@cs.wustl.edu)
-//
-// = DESCRIPTION
-// ============================================================================
-
-#ifndef ACE_EVENT_UTILITIES_H
-#define ACE_EVENT_UTILITIES_H
-
-#include "orbsvcs/RtecEventChannelAdminC.h"
-#include "orbsvcs/Event_Service_Constants.h"
-
-class ACE_ConsumerQOS_Factory
-// = TITLE
-// Consumer QOS Factory
-//
-// = DESCRIPTION
-//
-// This class allows easy (free from CORBA IDL constraints)
-// construction of RtecEventChannelAdmin::ConsumerQOS structures.
-//
-// = CORRELATIONS
-//
-// ACE_ConsumerQOS_Factory separates subscriptions into conjunction
-// and disjunction groups. A group can be thought of as a set of
-// events inside parenthesis: (A+B+C), where A,B, and C are
-// events.
-//
-// The following code would be used to represent (A+B) | (B+C):
-//
-// ACE_ConsumerQOS_Factor factory;
-// factory.start_conjunction_group ();
-// factory.insert (A);
-// factory.insert (B);
-// factory.start_conjunction_group ();
-// factory.insert (B);
-// factory.insert (C);
-//
-// The following code would be used to represent (A|B) | (B|C):
-//
-// ACE_ConsumerQOS_Factor factory;
-// factory.start_disjunction_group ();
-// factory.insert (A);
-// factory.insert (B);
-// factory.start_disjunction_group ();
-// factory.insert (B);
-// factory.insert (C);
-//
-// First, this may not seem to be initially useful, as (A|B) |
-// (B|C) seems the same as A|B|C. However, this form does have a
-// significant use when deadline timers are specified (described
-// below). Note that groups end with the next call to
-// start_XX_group. Groups are always OR'd together. That is,
-// there is no way to directly build (A|B|C) + (D|E|F). You can
-// always expand the previous statement to the OR of multiple ANDs.
-//
-// = TIMEOUTS
-//
-// There are two types of timeout types defined in
-// Event_Service_Constants.h.
-//
-// ACE_ES_EVENT_INTERVAL_TIMEOUT - the consumer wants to receive a
-// timeout every N seconds.
-//
-// ACE_ES_EVENT_DEADLINE_TIMEOUT - the consumer wants the timeout
-// if and only if some dependencies are not resolved first.
-//
-// Using these timeouts with the correlations discussed above, we
-// can construct four different timer semantics: Interval Timer,
-// Deadline Timer, Interval Correlation, Deadline Correlation:
-//
-// Interval Timer:
-//
-// (A+B+C) | (D+E+F) | (G+H+I) | IntervalTimeout
-//
-// This registers to receive an interval timeout regardless of
-// other dependencies. Event if events occur, the interval
-// timeout will still be sent.
-//
-// Deadline Timer:
-//
-// (A+B+C) | (D+E+F) | (G+H+I) | DeadlineTimeout
-//
-// This registers to receive the deadline timeout ONLY if no
-// other events occur. If a single event is sent to the
-// consumer, the timer is cancelled and rescheduled.
-//
-// Deadline Correlation:
-//
-// (A+B+C) | (D+E+F) | (G+H+DeadlineTimeout)
-//
-// If G and H do not occur within DeadlineTimeout time, a
-// deadline timeout is sent. It is cancelled and rescheduled if G
-// and H occur.
-//
-// Interval Correlation:
-//
-// (A+B+C) | (D+E+F) | (G+H+IntervalTimeout)
-//
-// G+H+IntervalTimeout are sent ONLY after all have occurred. If
-// G+H occur, they are queued until IntervalTimeout occurs. If
-// IntervalTimeout occurs, it is queued until G+H occur.
-{
-public:
- ACE_ConsumerQOS_Factory (void);
- // Default construction.
-
- ~ACE_ConsumerQOS_Factory (void);
- // Death and destruction.
-
- int start_conjunction_group (void);
- // This signifies that the consumer needs the AND of all following
- // insert calls (up until the next start_XX_group call). Returns 0
- // on success, -1 on failure.
-
- int start_disjunction_group (void);
- // This signifies that the consumer needs the OR of all following
- // insert calls (up until the next start_XX_group call). Returns 0
- // on success, -1 on failure.
-
- // = Insert operations add to the current conjunction or disjunction
- // group. These return 0 on success, -1 on failure. Before insert
- // is called, a start_XX_group method should be called. If a
- // start_XX_group method is not called, start_conjunction_group is
- // assumed.
-
- int insert (const RtecEventChannelAdmin::Dependency &subscribe);
- // Insert the <subscribe> structure describing the event and
- // receiving method into the current group.
-
- int insert (RtecEventComm::EventSourceID source,
- RtecEventComm::EventType type,
- RtecScheduler::handle_t rt_info);
- // Insert source/type dependency. <source> of the event (may be
- // zero), <type> of the event. <rt_info> describes the method that
- // will handle the <source>/<type> events.
-
- int insert_type (RtecEventComm::EventType type,
- RtecScheduler::handle_t rt_info);
- // Insert type-only dependency.
-
- int insert_source (RtecEventComm::EventSourceID source,
- RtecScheduler::handle_t rt_info);
- // Insert source-only dependency.
-
- int insert_time (RtecEventComm::EventType type,
- RtecEventComm::Time interval,
- RtecScheduler::handle_t rt_info);
- // Register temporal dependency. <type> designates interval or
- // deadline timeout that will occur every <interval>.
-
- int insert_act (RtecEventComm::EventData act);
- // This will be inserted as type ACE_ES_EVENT_ACT.
-
- // = Conversion operators. The Event Channel takes ConsumerQOS
- // objects.
-
- const RtecEventChannelAdmin::ConsumerQOS &get_ConsumerQOS (void);
- // Allows conversions to ConsumerQOS, which is expected by the
- // PushSupplierProxy::connect_push_consumer interface.
-
- operator const RtecEventChannelAdmin::ConsumerQOS &(void);
- // Calls this->get_ConsumerQOS.
-
- static void debug (const RtecEventChannelAdmin::ConsumerQOS& qos);
-
-private:
- RtecEventChannelAdmin::ConsumerQOS qos_;
- // The representation to be sent to the channel.
-
- int designator_set_;
- // Whether a start_XX_group has been called yet. This is to make
- // sure that a designator is placed in the subscription list first.
-};
-
-// ************************************************************
-
-class ACE_SupplierQOS_Factory
-{
-public:
- ACE_SupplierQOS_Factory (void);
- // Default construction.
-
- int insert (RtecEventComm::EventSourceID sid,
- RtecEventComm::EventType type,
- RtecScheduler::handle_t rtinfo,
- u_int ncalls);
- // Publish <sid> and <type> that is generate by a method described by
- // <rtinfo>. The method generates <type> <ncalls> number of times
- // per "iteration."
-
- const RtecEventChannelAdmin::SupplierQOS &get_SupplierQOS (void);
- // Allows conversions to SupplierQOS, which is expected by the
- // PushSupplierProxy::connect_push_supplier interface.
-
- operator const RtecEventChannelAdmin::SupplierQOS &(void);
- // Calls this->get_SupplierQOS.
-
- static void debug (const RtecEventChannelAdmin::SupplierQOS& qos);
-
-private:
- RtecEventChannelAdmin::SupplierQOS qos_;
- // Representation needed by channel.
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Event_Utilities.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* ACE_EVENT_UTILITIES_H */
-
diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.i b/TAO/orbsvcs/orbsvcs/Event_Utilities.i
deleted file mode 100644
index 49cc031a517..00000000000
--- a/TAO/orbsvcs/orbsvcs/Event_Utilities.i
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- C++ -*- */
-
-ACE_INLINE int
-ACE_ConsumerQOS_Factory::insert (RtecEventComm::EventSourceID source,
- RtecEventComm::EventType type,
- RtecScheduler::handle_t rt_info)
-{
- RtecEventChannelAdmin::Dependency dependency;
- dependency.event_.source_ = source;
- dependency.event_.type_ = type;
- dependency.event_.creation_time_ = 0;
- dependency.event_.ec_recv_time_ = 0;
- dependency.event_.ec_send_time_ = 0;
- dependency.rt_info = rt_info;
- return this->insert (dependency);
-}
-
-ACE_INLINE int
-ACE_ConsumerQOS_Factory::insert_type (RtecEventComm::EventType type,
- RtecScheduler::handle_t rt_info)
-{
- RtecEventChannelAdmin::Dependency dependency;
- dependency.event_.source_ = 0;
- dependency.event_.type_ = type;
- dependency.event_.creation_time_ = 0;
- dependency.event_.ec_recv_time_ = 0;
- dependency.event_.ec_send_time_ = 0;
- dependency.rt_info = rt_info;
- return this->insert (dependency);
-}
-
-ACE_INLINE int
-ACE_ConsumerQOS_Factory::insert_source (RtecEventComm::EventSourceID source,
- RtecScheduler::handle_t rt_info)
-{
- RtecEventChannelAdmin::Dependency dependency;
- dependency.event_.source_ = source;
- dependency.event_.type_ = ACE_ES_EVENT_ANY;
- dependency.event_.creation_time_ = 0;
- dependency.event_.ec_recv_time_ = 0;
- dependency.event_.ec_send_time_ = 0;
- dependency.rt_info = rt_info;
- return this->insert (dependency);
-}
-
-ACE_INLINE int
-ACE_ConsumerQOS_Factory::insert_time (RtecEventComm::EventType type,
- RtecEventComm::Time interval,
- RtecScheduler::handle_t rt_info)
-{
- RtecEventChannelAdmin::Dependency dependency;
- dependency.event_.source_ = 0;
- dependency.event_.type_ = type;
- dependency.event_.creation_time_ = interval;
- dependency.event_.ec_recv_time_ = 0;
- dependency.event_.ec_send_time_ = 0;
- dependency.rt_info = rt_info;
- return this->insert (dependency);
-}
-
-ACE_INLINE int
-ACE_ConsumerQOS_Factory::insert_act (RtecEventComm::EventData act)
-{
- RtecEventChannelAdmin::Dependency dependency;
- dependency.event_.source_ = 0;
- dependency.event_.type_ = ACE_ES_EVENT_ACT;
- dependency.event_.creation_time_ = 0;
- dependency.event_.ec_recv_time_ = 0;
- dependency.event_.ec_send_time_ = 0;
- dependency.event_.data_ = act;
- return this->insert (dependency);
-}
-
-ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS&
-ACE_ConsumerQOS_Factory::get_ConsumerQOS (void)
-{
- return qos_;
-}
-
-ACE_INLINE
-ACE_ConsumerQOS_Factory::operator const RtecEventChannelAdmin::ConsumerQOS& (void)
-{
- return qos_;
-}
-
-// ************************************************************
-
-ACE_INLINE const RtecEventChannelAdmin::SupplierQOS&
-ACE_SupplierQOS_Factory::get_SupplierQOS (void)
-{
- return qos_;
-}
-
-ACE_INLINE
-ACE_SupplierQOS_Factory::operator const RtecEventChannelAdmin::SupplierQOS& (void)
-{
- return qos_;
-}
-
diff --git a/TAO/orbsvcs/orbsvcs/Makefile b/TAO/orbsvcs/orbsvcs/Makefile
deleted file mode 100644
index 89597aaad86..00000000000
--- a/TAO/orbsvcs/orbsvcs/Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-MAKEFILE = Makefile
-LIBNAME = liborbsvcs
-LIB = $(LIBNAME).a
-SHLIB = $(LIBNAME).$(SOEXT)
-
-IDL_FILES = \
- CosNamingC \
- CosNamingS \
- RtecEventCommC \
- RtecEventCommS \
- RtecSchedulerC \
- RtecSchedulerS \
- RtecEventChannelAdminC \
- RtecEventChannelAdminS \
-
-FILES= $(IDL_FILES) \
- Event_Utilities \
- Scheduler_Factory \
- Runtime_Scheduler \
- Scheduler_Utilities \
-
-DEFS = $(addsuffix .h,$(FILES))
-LSRC = $(addsuffix .cpp,$(FILES))
-
-LIBS += -lTAO -lACE
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets (and local hacks)
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
-TAO_ROOT = $(ACE_ROOT)/TAO
-endif
-
-LDFLAGS += -L$(TAO_ROOT)/tao
-CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao/compat -I$(TAO_ROOT)/orbsvcs $(TSS_ORB_FLAG)#-H
-
-# @@ Commented out until no more hand-crafting is needed, right now the
-# main problem is the ACE_Export macros for NT.
-
-CosNamingC.cpp CosNamingS.cpp CosNamingC.h CosNamingS.h: CosNaming.idl
- $(TAO_ROOT)/TAO_IDL/tao_idl $^
-
-RtecSchedulerC.cpp RtecSchedulerS.cpp RtecSchedulerC.h RtecSchedulerS.h: RtecScheduler.idl
- $(TAO_ROOT)/TAO_IDL/tao_idl $^
-
-RtecEventCommC.cpp RtecEventCommS.cpp RtecEventCommC.h RtecEventCommS.h: RtecEventComm.idl
- $(TAO_ROOT)/TAO_IDL/tao_idl $^
-
-RtecEventChannelAdminC.cpp RtecEventChannelAdminS.cpp RtecEventChannelAdminC.h RtecEventChannelAdminS.h: RtecEventChannelAdmin.idl
- $(TAO_ROOT)/TAO_IDL/tao_idl $^
-
-clean:
- -/bin/rm -rf *.o Log $(BIN) obj.* core Templates.DB .make.state
-
-realclean: clean
- -/bin/rm -rf $(addsuffix .h, $(IDL_FILES)) $(addsuffix .i, $(IDL_FILES)) $(addsuffix .cpp, $(IDL_FILES))
-
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
deleted file mode 100644
index 9ba626ba73e..00000000000
--- a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// $Id$
-//
-#include "RtecEventComm.idl"
-#include "RtecScheduler.idl"
-
-module RtecEventChannelAdmin {
-
- exception AlreadyConnected {};
- exception TypeError {};
-
- struct Dependency {
- RtecEventComm::Event event_;
- RtecScheduler::handle_t rt_info;
- };
- typedef sequence<Dependency> DependencySet;
-
- struct ConsumerQOS {
- DependencySet dependencies;
- };
-
- struct Publication {
- RtecEventComm::Event event_;
- RtecScheduler::Dependency_Info dependency_info_;
- };
- typedef sequence<Publication> PublicationSet;
-
- struct SupplierQOS {
- PublicationSet publications_;
- };
-
- interface ProxyPushConsumer: RtecEventComm::PushConsumer {
- oneway void connect_push_supplier(
- in RtecEventComm::PushSupplier push_supplier,
- in SupplierQOS qos);
- // raises(AlreadyConnected);
- };
-
- interface ProxyPushSupplier: RtecEventComm::PushSupplier {
- oneway void connect_push_consumer(
- in RtecEventComm::PushConsumer push_consumer,
- in ConsumerQOS qos);
- // raises(AlreadyConnected, TypeError);
- };
-
- // TODO: Find out the exception specs for the following interface's
- // methods.
- interface ConsumerAdmin {
- ProxyPushSupplier obtain_push_supplier();
- };
- interface SupplierAdmin {
- ProxyPushConsumer obtain_push_consumer();
- };
-
- interface EventChannel {
- exception SYNCHRONIZATION_ERROR {};
- exception QOS_ERROR {};
- exception SUBSCRIPTION_ERROR {};
- exception CORRELATION_ERROR {};
- exception DISPATCH_ERROR {};
-
- ConsumerAdmin for_consumers();
- SupplierAdmin for_suppliers();
-
- void destroy();
- };
-
-};
-
-
diff --git a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl b/TAO/orbsvcs/orbsvcs/RtecEventComm.idl
deleted file mode 100644
index 5171aaa4438..00000000000
--- a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// $Id$
-//
-
-module RtecEventComm {
- exception Disconnected {};
-
-#if 0
- union EventData switch(short) {
- case 1: double dval;
- case 2: string sval;
- case 3: sequence<octet> bval;
- default: long lval;
- };
-#else
- struct EventData {
- long x;
- long y;
- };
-#endif
-
- typedef long EventSourceID;
- typedef long EventType;
-
- // @@ TODO: Use CosTimeService?
- // The current definition (double) is a TOTAL HACK, we store a long
- // long here just because it fits....
- typedef double Time;
-
- struct Event {
- EventSourceID source_;
- EventType type_;
- Time creation_time_;
- Time ec_recv_time_;
- Time ec_send_time_;
- EventData data_;
- };
- typedef sequence<Event> EventSet;
-
- interface PushConsumer {
- oneway void push (in EventSet data); // raises(Disconnected);
- oneway void disconnect_push_consumer();
- };
-
- interface PushSupplier {
- oneway void disconnect_push_supplier();
- };
-
-};
-
-
diff --git a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl b/TAO/orbsvcs/orbsvcs/RtecScheduler.idl
deleted file mode 100644
index e0d2ea9fa0f..00000000000
--- a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl
+++ /dev/null
@@ -1,222 +0,0 @@
-//
-// $Id$
-//
-
-module RtecScheduler {
-
- // TODO: Use the COS Time Service TimeT type.
- typedef double Time;
- typedef long Period;
- typedef Time Quantum;
-
- const long NO_QUANTUM = 0;
-
- //
- // TODO: This differ from the ones documented in the TAO paper,
- // namely:
- // INTERRUPT
- // IO_SERVICE
- // CRITICAL
- // HARD_DEADLINE
- // BACKGROUND
- // Notice that the order is inverted and, of course, the names don't
- // match.
- //
- enum Importance {
- VERY_LOW,
- LOW,
- MEDIUM,
- HIGH,
- VERY_HIGH
- };
-
- typedef long handle_t;
- // RT_Info's are assignned per-application unique identifiers.
-
- struct Dependency_Info {
- long number_of_calls;
- handle_t rt_info;
- // Notice the reference to the RT_Info we depend on.
- };
-
- typedef sequence<Dependency_Info> Dependency_Set;
-
- typedef long OS_Priority;
- typedef long Sub_Priority;
- typedef long Preemption_Priority;
-
- struct RT_Info
- // = TITLE
- // Describes the QoS for an "operation".
- //
- // = DESCRIPTION
- // The CPU requirements and QoS for each "entity" implementing
- // an application operation is described by the following
- // information.
- {
- // Application defined string that uniquely identifies the
- // operation.
- string entry_point;
-
- // The scheduler defined unique identifier.
- handle_t handle;
-
- // Execution times
- Time worst_case_execution_time;
- Time typical_execution_time;
-
- // To account for server data caching.
- Time cached_execution_time;
-
- // For rate operations this defines the period of the rate.
- // 0 means "completely pasive", i.e., this operation only executes
- // when called.
- Period period;
-
- // Operation importance (used to "break ties").
- Importance importance;
-
- // For time-slicing (for BACKGROUND operations only).
- Quantum quantum;
-
- // The following attributes are defined by the Scheduler once the
- // off-line scheduling is computed.
-
- // The number of threads that will execute this operation?
- // TODO: clarify this.
- long threads;
-
- // The operations we depend upon.
- Dependency_Set dependencies;
-
- // The OS por processing the events generated from this RT_Info.
- OS_Priority priority;
-
- // For ordering RT_Info's with equal priority.
- Sub_Priority subpriority;
-
- // The queue number for this RT_Info.
- Preemption_Priority preemption_priority;
- };
-
- exception DUPLICATE_NAME {};
- // The application is trying to register the same task again.
-
- exception UNKNOWN_TASK {};
- // The RT_Info handle was not valid.
-
- exception NOT_SCHEDULED {};
- // The application is trying to obtain scheduling information, but
- // none is available.
-
- exception UTILIZATION_BOUND_EXCEEDED {};
- exception INSUFFICIENT_THREAD_PRIORITY_LEVELS {};
- exception TASK_COUNT_MISMATCH {};
- // Problems while computing off-line scheduling.
-
- typedef sequence<RT_Info> RT_Info_Set;
-
- // TODO: Find a reasonable name for this interface, maybe we should
- // change the name of the module to RtecSchedulerAdmin and name this
- // Scheduler
- interface Scheduler
- // = DESCRIPTION
- // This class holds all the RT_Info's for a single application.
- // During the configuration run this will be implemented as a
- // single remote object, whose services are used by the
- // suppliers, consumers and the EC.
- // At run-time each process will hold a copy of the compiled
- // version of the Scheduler, using the precomputed data to
- // resolve requests (avoiding any remote calls) and ignoring any
- // requests for modifying its state.
- // A Factory class will be used to choose the proper
- // implementation.
- //
- // This class must be registered with the naming service using a
- // well known name ("Scheduler" seems the obvious choice), the
- // Naming Context will account for different applications and
- // modes.
- //
- // Once the scheduling data is computed it can be retrieved
- // remotely to generate the code for the run-time version.
- {
- handle_t create (in string entry_point) raises (DUPLICATE_NAME);
- // Creates a new RT_Info entry for the function identifier
- // "entry_point", it can be any string, but the fully qualified
- // name function name is suggested.
- // Returns a handle to the RT_Info.
-
- handle_t lookup (in string entry_point);
- // Lookups a handle for entry_point.
- // TODO: Should we add INVALID_HANDLE or raise an exception?
-
- RT_Info get (in handle_t handle) raises (UNKNOWN_TASK);
- // Retrieve information about an RT_Info.
-
- void set (in handle_t handle,
- in Time time,
- in Time typical_time,
- in Time cached_time,
- in Period period,
- in Importance importance,
- in Quantum quantum,
- in long threads)
- raises (UNKNOWN_TASK);
- // Set the attributes of an RT_Info.
- // Notice that some values may not be modified (like priority).
-
- void add_dependency (in handle_t handle,
- in handle_t dependency,
- in long number_of_calls)
- raises (UNKNOWN_TASK);
- // Adds <dependency> to <handle>
-
- void priority (in handle_t handle,
- out OS_Priority priority,
- out Sub_Priority subpriority,
- out Preemption_Priority p_priority)
- raises (UNKNOWN_TASK, NOT_SCHEDULED);
- void entry_point_priority (in string entry_point,
- out OS_Priority priority,
- out Sub_Priority subpriority,
- out Preemption_Priority p_priority)
- raises (UNKNOWN_TASK, NOT_SCHEDULED);
- // Obtain the run time priorities.
- // TODO: Do we need the two interfaces or is it simply confusing?
- // If we should to keep only the <handle> version: Are the extra
- // round-trips too expensive?
- // If we choose only the <entry_point> version: Are the copies for
- // the string affordable?
-
- void compute_scheduling (in long minimum_priority,
- in long maximum_priority,
- out RT_Info_Set infos)
- raises (UTILIZATION_BOUND_EXCEEDED,
- INSUFFICIENT_THREAD_PRIORITY_LEVELS,
- TASK_COUNT_MISMATCH);
- // Computes the scheduling priorities, returns the RT_Info's with
- // their priorities properly filled.
- // This info can be cached by a Run_Time_Scheduler service or
- // dumped into a C++ file for compilation and even faster (static)
- // lookup.
-
- // TODO: The dependencies field can be removed from the RT_Info
- // and made part of the secrets of "Application", adding the
- // following to satisfy curious clients:
- //
- // struct Dependency {
- // long number_of_calls;
- // handle_t dependency;
- // };
- // typedef sequence<Dependency> Dependency_Set;
- //
- // Dependency_Set dependencies (in handle_t handle)
- // raises (UNKNOWN_TASK);
- // Returns the list of dependencies
- //
- // long number_of_dependencies (in handle_t handle)
- // raises (UNKNOWN_TASK);
- // Returns the number of dependencies.
-
- };
-};
diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp
deleted file mode 100644
index 1f45181d12a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#include "orbsvcs/Runtime_Scheduler.h"
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Runtime_Scheduler.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_Runtime_Scheduler::
-ACE_Runtime_Scheduler (int entry_count,
- RtecScheduler::RT_Info* rt_info[])
-: POA_RtecScheduler::Scheduler ("Static_Scheduler"),
- entry_count_ (entry_count),
- rt_info_ (rt_info)
-{
-}
-
-RtecScheduler::handle_t
-ACE_Runtime_Scheduler::create (const char * entry_point,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::DUPLICATE_NAME))
-{
- // Just make sure its there and returns its handle (position).
- int i;
- for (i = 0; i < entry_count_; ++i)
- {
- if (strcmp (entry_point, rt_info_[i]->entry_point) == 0)
- {
- return i;
- }
- }
- // TODO: throw an exception or print an error.
- return -1;
-}
-
-RtecScheduler::handle_t
-ACE_Runtime_Scheduler::lookup (const char * entry_point,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException))
-{
- return create (entry_point, _env);
-}
-
-RtecScheduler::RT_Info*
-ACE_Runtime_Scheduler::get (RtecScheduler::handle_t handle,
- CORBA::Environment &_env)
- TAO_THROW_SPEC((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK))
-{
- if (handle < 0 || handle > entry_count_)
- {
- TAO_THROW_RETURN (RtecScheduler::UNKNOWN_TASK(), 0);
- }
- return rt_info_[handle];
-}
-
-void ACE_Runtime_Scheduler::set (RtecScheduler::handle_t handle,
- RtecScheduler::Time time,
- RtecScheduler::Time typical_time,
- RtecScheduler::Time cached_time,
- RtecScheduler::Period period,
- RtecScheduler::Importance importance,
- RtecScheduler::Quantum quantum,
- CORBA::Long threads,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK))
-{
- // We compare the values with the ones stored and print a message on
- // any differences.
- if (handle < 0 || handle > entry_count_)
- {
- TAO_THROW (RtecScheduler::UNKNOWN_TASK);
- return;
- }
- if (rt_info_[handle]->worst_case_execution_time != time
- || rt_info_[handle]->typical_execution_time != typical_time
- || rt_info_[handle]->cached_execution_time != cached_time
- || rt_info_[handle]->period != period
- || rt_info_[handle]->importance != importance
- || rt_info_[handle]->quantum != quantum
- || rt_info_[handle]->threads != threads)
- {
- ACE_ERROR ((LM_ERROR, "invalid data for RT_Info: %s\n",
- (const char*)rt_info_[handle]->entry_point));
- // TODO: throw something here.
- }
-}
-
-
-void ACE_Runtime_Scheduler::priority (RtecScheduler::handle_t handle,
- RtecScheduler::OS_Priority& priority,
- RtecScheduler::Sub_Priority& subpriority,
- RtecScheduler::Preemption_Priority& p_priority,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK,
- RtecScheduler::NOT_SCHEDULED))
-{
- if (handle < 0 || handle > entry_count_)
- {
- TAO_THROW (RtecScheduler::UNKNOWN_TASK());
- return;
- }
- priority = rt_info_[handle]->priority;
- subpriority = rt_info_[handle]->subpriority;
- p_priority = rt_info_[handle]->preemption_priority;
-}
-
-void ACE_Runtime_Scheduler::entry_point_priority (const char * entry_point,
- RtecScheduler::OS_Priority& priority,
- RtecScheduler::Sub_Priority& subpriority,
- RtecScheduler::Preemption_Priority& p_priority,
- CORBA::Environment &_env)
- TAO_THROW_SPEC((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK,
- RtecScheduler::NOT_SCHEDULED))
-{
- RtecScheduler::handle_t handle = lookup (entry_point, _env);
- if (handle < -1)
- {
- // The exception was thrown or is in _env already.
- return;
- }
- this->priority (handle, priority, subpriority, p_priority, _env);
-}
-
-void ACE_Runtime_Scheduler::add_dependency (RtecScheduler::handle_t handle,
- RtecScheduler::handle_t dependency,
- CORBA::Long number_of_calls,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK))
-{
- if (handle < 0 || handle > entry_count_)
- {
- TAO_THROW (RtecScheduler::UNKNOWN_TASK);
- return;
- }
- // Just check that the information is consistent.
- RtecScheduler::Dependency_Set& deps = rt_info_[handle]->dependencies;
- for (int i = 0; i < deps.length (); ++i)
- {
- if (deps[i].rt_info == dependency
- && deps[i].number_of_calls == number_of_calls)
- {
- return;
- }
- }
- ACE_ERROR ((LM_ERROR, "unmatched dependency on %s\n",
- (const char*)rt_info_[handle]->entry_point));
-}
-
-void ACE_Runtime_Scheduler::compute_scheduling (CORBA::Long minimum_priority,
- CORBA::Long maximum_priority,
- RtecScheduler::RT_Info_Set_out infos,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UTILIZATION_BOUND_EXCEEDED,
- RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS,
- RtecScheduler::TASK_COUNT_MISMATCH))
-{
- // TODO: Right now just do nothing, later we could validate the
- // priorities (without recomputing).
- // TODO: fill up the infos.
- return;
-}
-
diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h
deleted file mode 100644
index 698393880a8..00000000000
--- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#ifndef ACE_RUNTIME_SCHEDULER_H
-#define ACE_RUNTIME_SCHEDULER_H
-
-#include "ace/OS.h"
-
-#include "orbsvcs/RtecSchedulerS.h"
-
-class ACE_Runtime_Scheduler
- : public POA_RtecScheduler::Scheduler
- // = TITLE
- // A proxy server for RtecScheduler::Scheduler.
- //
- // = DESCRIPTION
- // This class offers the services of the scheduler, but based on
- // precomputed and precompiled information. This results in a
- // highly optimized execution after the configuration runs.
-{
-public:
- ACE_Runtime_Scheduler (int entry_count,
- RtecScheduler::RT_Info* rt_info[]);
- // Initialize the data from the RT_Info array.
- // Only basic validation is done.
-
- virtual RtecScheduler::handle_t create (const char * entry_point,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::DUPLICATE_NAME));
-
- virtual RtecScheduler::handle_t lookup (const char * entry_point,
- CORBA::Environment &_env)
- TAO_THROW_SPEC((CORBA::SystemException));
-
- virtual RtecScheduler::RT_Info* get (RtecScheduler::handle_t handle,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK));
-
- virtual void set (RtecScheduler::handle_t handle,
- RtecScheduler::Time time,
- RtecScheduler::Time typical_time,
- RtecScheduler::Time cached_time,
- RtecScheduler::Period period,
- RtecScheduler::Importance importance,
- RtecScheduler::Quantum quantum,
- CORBA::Long threads,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK));
-
- virtual void priority (RtecScheduler::handle_t handle,
- RtecScheduler::OS_Priority& priority,
- RtecScheduler::Sub_Priority& subpriority,
- RtecScheduler::Preemption_Priority& p_priority,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK,
- RtecScheduler::NOT_SCHEDULED));
-
- virtual void entry_point_priority (const char * entry_point,
- RtecScheduler::OS_Priority& priority,
- RtecScheduler::Sub_Priority& subpriority,
- RtecScheduler::Preemption_Priority& p_priority,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK,
- RtecScheduler::NOT_SCHEDULED));
-
- virtual void add_dependency (RtecScheduler::handle_t handle,
- RtecScheduler::handle_t dependency,
- CORBA::Long number_of_calls,
- CORBA::Environment &_env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- RtecScheduler::UNKNOWN_TASK));
-
- virtual void compute_scheduling (CORBA::Long minimum_priority,
- CORBA::Long maximum_priority,
- RtecScheduler::RT_Info_Set_out infos,
- CORBA::Environment &_env)
- TAO_THROW_SPEC((CORBA::SystemException,
- RtecScheduler::UTILIZATION_BOUND_EXCEEDED,
- RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS,
- RtecScheduler::TASK_COUNT_MISMATCH));
-
-private:
- int entry_count_;
- RtecScheduler::RT_Info** rt_info_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Runtime_Scheduler.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* ACE_RUNTIME_SCHEDULER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i
deleted file mode 100644
index a21ea7f9897..00000000000
--- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i
+++ /dev/null
@@ -1,5 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp
deleted file mode 100644
index 681470630e8..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#include "ace/OS.h"
-
-#include "orbsvcs/Runtime_Scheduler.h"
-#include "orbsvcs/Scheduler_Factory.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "orbsvcs/Scheduler_Factory.i"
-#endif /* __ACE_INLINE__ */
-
-RtecScheduler::Scheduler_ptr ACE_Scheduler_Factory::server_ = 0;
-
-static int entry_count = -1;
-static ACE_Scheduler_Factory::POD_RT_Info* rt_info = 0;
-
-int ACE_Scheduler_Factory::use_runtime (int ec,
- POD_RT_Info rti[])
-{
- if (server_ != 0 || entry_count != -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factory::use_runtime - "
- "server already configured\n"), -1);
- }
-
- entry_count = ec;
- rt_info = rti;
-
- return 0;
-}
-
-RtecScheduler::Scheduler_ptr static_server ()
-{
- RtecScheduler::Scheduler_ptr server_ = 0;
-
- typedef RtecScheduler::RT_Info* RT_Info_ptr;
- RtecScheduler::RT_Info** info;
- ACE_NEW_RETURN (info, RT_Info_ptr[entry_count], 0);
- for (int i = 0; i < entry_count; ++i)
- {
- info[i] = new RtecScheduler::RT_Info;
- if (info[i] == 0)
- {
- for (int j = 0; j < i; ++j)
- {
- delete info[i];
- }
- delete[] info;
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factory::config_runtime - "
- "cannot allocate RT_Info\n"), 0);
- }
- info[i]->entry_point = rt_info[i].entry_point;
- info[i]->handle = rt_info[i].handle;
- info[i]->worst_case_execution_time = rt_info[i].worst_case_execution_time;
- info[i]->typical_execution_time = rt_info[i].typical_execution_time;
- info[i]->cached_execution_time = rt_info[i].cached_execution_time;
- info[i]->period = rt_info[i].period;
- info[i]->importance = rt_info[i].importance;
- info[i]->quantum = rt_info[i].quantum;
- info[i]->threads = rt_info[i].threads;
- info[i]->priority = rt_info[i].priority;
- info[i]->subpriority = rt_info[i].subpriority;
- info[i]->preemption_priority = rt_info[i].preemption_priority;
- }
- server_ = new ACE_Runtime_Scheduler (entry_count, info);
-
- if (server_ == 0)
- {
- for (int i = 0; i < entry_count; ++i)
- {
- delete info[i];
- }
- delete[] info;
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factory::config_runtime - "
- "cannot allocate server\n"), 0);
- }
- ACE_DEBUG ((LM_DEBUG,
- "ACE_Scheduler_Factory - configured static server\n"));
- CORBA::Object::_duplicate (server_);
- return server_;
-}
-
-int
-ACE_Scheduler_Factory::use_config (CosNaming::NamingContext_ptr naming)
-{
- if (server_ != 0 || entry_count != -1)
- {
- // No errors, runtime execution simply takes precedence over
- // config runs.
- return 0;
- }
-
- TAO_TRY
- {
- CosNaming::Name schedule_name (1);
- schedule_name[0].id = CORBA::string_dup ("ScheduleService");
- schedule_name.length (1);
- CORBA::Object_ptr objref =
- naming->resolve (schedule_name, TAO_TRY_ENV);
- TAO_CHECK_ENV;
-
- server_ =
- RtecScheduler::Scheduler::_narrow(objref, TAO_TRY_ENV);
- TAO_CHECK_ENV;
-
- RtecScheduler::Scheduler::_duplicate (server_);
- TAO_CHECK_ENV;
- }
- TAO_CATCHANY
- {
- server_ = 0;
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factory::use_context - "
- " exception while resolving server\n"), -1);
- }
- TAO_ENDTRY;
- return 0;
-}
-
-int
-ACE_Scheduler_Factory::use_config (CORBA::ORB_ptr orb)
-{
- if (server_ != 0 || entry_count != -1)
- {
- // No errors, runtime execution simply takes precedence over
- // config runs.
- return 0;
- }
-
- TAO_TRY
- {
- CORBA::Object_ptr objref =
- orb->resolve_initial_references ("ScheduleService");
- TAO_CHECK_ENV;
-
- server_ =
- RtecScheduler::Scheduler::_narrow(objref, TAO_TRY_ENV);
- TAO_CHECK_ENV;
-
- RtecScheduler::Scheduler::_duplicate (server_);
- TAO_CHECK_ENV;
- }
- TAO_CATCHANY
- {
- server_ = 0;
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factory::use_context - "
- " exception while resolving server\n"), -1);
- }
- TAO_ENDTRY;
- return 0;
-}
-
-
-RtecScheduler::Scheduler_ptr
-ACE_Scheduler_Factory::server (void)
-{
- if (server_ == 0 && entry_count != -1)
- {
- server_ = static_server ();
- }
-
- if (server_ == 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_Scheduler_Factor::server - "
- "no scheduling service configured\n"), 0);
- }
- return server_;
-}
-
-static char header[] =
-"// This file was automatically generated by Scheduler_Factory\n"
-"// before editing the file please consider generating it again\n"
-"\n"
-"#include \"orbsvcs/Scheduler_Factory.h\"\n"
-"\n";
-
-static char footer[] =
-"\n"
-"// This setups Scheduler_Factory to use the runtime version\n"
-"static int scheduler_factory_setup = \n"
-" ACE_Scheduler_Factory::use_runtime (sizeof (infos)/sizeof (infos[0]),\n"
-" infos);\n"
-"\n"
-"// EOF\n";
-
-static char start_infos[] =
-"static ACE_Scheduler_Factory::POD_RT_Info infos[] = {\n";
-
-static char end_infos[] =
-"};\n";
-
-int ACE_Scheduler_Factory::dump_schedule
- (const RtecScheduler::RT_Info_Set& infos,
- const char* filename)
-{
- FILE* file = stdout;
- if (filename != 0)
- {
- file = ACE_OS::fopen (filename, "w");
- if (file == 0)
- {
- return -1;
- }
- }
- ACE_OS::fprintf(file, header);
-
- ACE_OS::fprintf(file, start_infos);
- for (u_int i = 0; i < infos.length (); ++i)
- {
- if (i != 0)
- {
- // Finish previous line
- ACE_OS::fprintf(file, ",\n");
- }
- const RtecScheduler::RT_Info& info = infos[i];
- ACE_OS::fprintf (file,
-"{ \"%s\", %d, %f, %f, %f, %d, %d, %f, %d, %d, %d, %d }",
- (const char*)info.entry_point,
- info.handle,
- info.worst_case_execution_time,
- info.typical_execution_time,
- info.cached_execution_time,
- info.period,
- info.importance,
- info.quantum,
- info.threads,
- info.priority,
- info.subpriority,
- info.preemption_priority);
- }
- // finish last line.
- ACE_OS::fprintf(file, "\n");
- ACE_OS::fprintf(file, end_infos);
- ACE_OS::fprintf(file, footer);
- ACE_OS::fclose (file);
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h
deleted file mode 100644
index fa2411cd9e9..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#ifndef ACE_SCHEDULER_FACTORY_H
-#define ACE_SCHEDULER_FACTORY_H
-
-#include "ace/OS.h"
-
-#include "orbsvcs/CosNamingC.h"
-#include "orbsvcs/RtecSchedulerC.h"
-
-class ACE_Scheduler_Factory
- // = TITLE
- // Factory of scheduler services.
- //
- // = DESCRIPTION
- // This class acts as a factory for scheduler servers. At config
- // time it will return a remote server, which will actually
- // compute the scheduling parameters. At run-time it returns a
- // local server, which will use the results of the config runs to
- // actually do the scheduling, without incurring in RPC overheads.
-{
-public:
- struct POD_RT_Info
- // = TITLE
- // Plain Old Data for RT_Infos.
- //
- // = DESCRIPTION
- // This class provide us with a plain old data version of
- // RT_Info, this is useful for implementing static arrays or of
- // those.
- {
- const char* entry_point;
- RtecScheduler::handle_t handle;
- RtecScheduler::Time worst_case_execution_time;
- RtecScheduler::Time typical_execution_time;
- RtecScheduler::Time cached_execution_time;
- RtecScheduler::Period period;
- RtecScheduler::Importance importance;
- RtecScheduler::Quantum quantum;
- CORBA::Long threads;
- RtecScheduler::OS_Priority priority;
- RtecScheduler::Sub_Priority subpriority;
- RtecScheduler::Preemption_Priority preemption_priority;
- };
-
- static int use_config (CosNaming::NamingContext_ptr naming);
- // Setup the variables needed for a config run, using the
- // NamingContext to locate a Scheduler.
-
- static int use_config (CORBA::ORB_ptr orb);
- // Setup the variable needed for a config run, using an environment
- // variable to locate a Scheduler.
-
- static int use_runtime (int entry_count,
- POD_RT_Info rt_info[]);
- // Disable config runs in the Factory and setups the precomputed
- // scheduling.
-
- static RtecScheduler::Scheduler_ptr server (void);
- // Return the Real-time Scheduling Service used for this run.
- // Must have been configured either using use_context() or use_data().
- //
- // Normally use_data() is called at static elaboration time, so
- // everything is automatic.
- // On config runs use_context() is called from main, after
- // resolve_initial_references.
-
- static int dump_schedule (const RtecScheduler::RT_Info_Set& infos,
- const char* file_name = 0);
- // This helper function will dump the schedule returned by a
- // RtecScheduler::Scheduler into a file, the file can be compiled to
- // create an efficient local implementation of the Scheduler.
-
- // TODO: How to do cleanup()? Use the ACE_Object_Manager stuff?
-
-protected:
- static int no_config_run (void);
- // By default this factory assumes we are runnning a config
- // run. Calling this method disables that.
- // Since the methods returns an int it can be used to initialize a
- // static variable, hence calling it before main(); this technique
- // can be used in the code emitted for the run-time scheduler,
- // automagically disabling the config_run() when that code is linked
- // in.
-
-private:
- static RtecScheduler::Scheduler_ptr server_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Scheduler_Factory.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* ACE_SCHEDULER_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i
deleted file mode 100644
index 8d85b9d5a37..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i
+++ /dev/null
@@ -1,6 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp
deleted file mode 100644
index ffea37fb9fe..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#include "ace/OS.h"
-
-#include "orbsvcs/Scheduler_Utilities.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "orbsvcs/Scheduler_Utilities.i"
-#endif /* __ACE_INLINE__ */
-
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h
deleted file mode 100644
index b0b3b529722..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-#ifndef ACE_SCHEDULER_UTILITIES_H
-#define ACE_SCHEDULER_UTILITIES_H
-
-#include "ace/OS.h"
-
-#include "orbsvcs/RtecSchedulerC.h"
-
-class ACE_RT_Info : public RtecScheduler::RT_Info
- // = TITLE
- // Offers a convenient C++ interface to the IDL RT_Info structure.
- //
- // = DESCRIPTION
- // For performance reasons the RT_Info data is represented as an
- // IDL structure, this permits sending complete RT_Info's from the
- // client to the server.
- // Unfortunately this precludes the usage of member functions and
- // constructors, this class serves as a helper to implement those
- // without loosing the performance on IDL.
-{
-public:
- ACE_RT_Info (const char* entry_point,
- RtecScheduler::Time worst_time,
- RtecScheduler::Time typical_time,
- RtecScheduler::Time cached_time,
- RtecScheduler::Period period,
- RtecScheduler::Importance importance,
- RtecScheduler::Quantum quantum,
- CORBA::Long threads);
-
- ACE_RT_Info (const RtecScheduler::RT_Info& rt_info);
-
- int add_dependency(RtecScheduler::handle_t dep,
- int number_of_calls = 1);
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbsvcs/Scheduler_Utilities.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* ACE_SCHEDULER_UTILITIES_H */
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i
deleted file mode 100644
index 1d62ceffaf5..00000000000
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i
+++ /dev/null
@@ -1,32 +0,0 @@
-// ============================================================================
-//
-// $Id$
-//
-// ============================================================================
-
-ACE_INLINE
-ACE_RT_Info::ACE_RT_Info (const char* entry_point_,
- RtecScheduler::Time worst_time_,
- RtecScheduler::Time typical_time_,
- RtecScheduler::Time cached_time_,
- RtecScheduler::Period period_,
- RtecScheduler::Importance importance_,
- RtecScheduler::Quantum quantum_,
- CORBA::Long threads_)
-{
- this->entry_point = entry_point_;
- this->worst_case_execution_time = worst_time_;
- this->typical_execution_time = typical_time_;
- this->cached_execution_time = cached_time_;
- this->period = period_;
- this->importance = importance_;
- this->quantum = quantum_;
- this->threads = threads_;
-}
-
-ACE_INLINE
-ACE_RT_Info::ACE_RT_Info (const RtecScheduler::RT_Info& rt_info)
- : RtecScheduler::RT_Info (rt_info)
-{
-}
-
diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw b/TAO/orbsvcs/orbsvcs/orbsvcs.dsw
deleted file mode 100644
index 70a8a046488..00000000000
--- a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "orbsvcs_lib"=.\orbsvcs_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp b/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp
deleted file mode 100644
index 4d11f05f55b..00000000000
--- a/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp
+++ /dev/null
@@ -1,425 +0,0 @@
-# Microsoft Developer Studio Project File - Name="orbsvcs_lib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=orbsvcs_lib - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "orbsvcs_lib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "orbsvcs_lib.mak" CFG="orbsvcs_lib - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "orbsvcs_lib - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "orbsvcs_lib - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /Z7 /Od /I ".." /I "../.." /I "../../.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "orbsvcs_lib - Win32 Release"
-# Name "orbsvcs_lib - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.idl,*.cpp"
-# Begin Source File
-
-SOURCE=.\Channel_Clients.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNaming.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\CosNaming.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on CosNaming
-InputPath=.\CosNaming.idl
-InputName=CosNaming
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNamingC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNamingS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Utilities.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdmin.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecEventChannelAdmin.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler RtecEventChannelAdmin
-InputPath=.\RtecEventChannelAdmin.idl
-InputName=RtecEventChannelAdmin
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdminC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdminS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventComm.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecEventComm.idl
-
-BuildCmds= \
- ,,\,,\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on RtecEventComm
-InputPath=.\RtecEventComm.idl
-InputName=RtecEventComm
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventCommC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventCommS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecScheduler.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecScheduler.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on RtecScheduler
-InputPath=.\RtecScheduler.idl
-InputName=RtecScheduler
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecSchedulerC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecSchedulerS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\Channel_Clients.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Channel_Clients_T.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Service_Constants.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Utilities.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "*.i"
-# Begin Source File
-
-SOURCE=.\Event_Utilities.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.i
-# End Source File
-# End Group
-# End Target
-# End Project