00001
00002
00003
00004
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 ACE_INLINE
00008 TAO_EC_Queue::
00009 TAO_EC_Queue (size_t high_water_mark,
00010 size_t low_water_mark,
00011 ACE_Notification_Strategy *ns)
00012 : ACE_Message_Queue<ACE_SYNCH> (high_water_mark,
00013 low_water_mark,
00014 ns)
00015 {
00016 }
00017
00018
00019
00020 #ifndef TAO_EC_QUEUE_HWM
00021 #define TAO_EC_QUEUE_HWM 16384
00022
00023 #endif
00024
00025 #ifndef TAO_EC_QUEUE_LWM
00026 #define TAO_EC_QUEUE_LWM 16
00027
00028 #endif
00029
00030 ACE_INLINE
00031 TAO_EC_Dispatching_Task::
00032 TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager, TAO_EC_Queue_Full_Service_Object* so)
00033 : ACE_Task<ACE_SYNCH> (thr_manager),
00034 allocator_ (0),
00035 the_queue_ (TAO_EC_QUEUE_HWM, TAO_EC_QUEUE_LWM),
00036 queue_full_service_object_ (so)
00037 {
00038 this->msg_queue (&this->the_queue_);
00039 }
00040
00041
00042
00043 ACE_INLINE
00044 TAO_EC_Dispatch_Command::TAO_EC_Dispatch_Command (ACE_Allocator *mb_allocator)
00045 : ACE_Message_Block (mb_allocator)
00046 {
00047 }
00048
00049 ACE_INLINE
00050 TAO_EC_Dispatch_Command::TAO_EC_Dispatch_Command (ACE_Data_Block *data_block,
00051 ACE_Allocator *mb_allocator)
00052 : ACE_Message_Block (data_block,
00053 0,
00054 mb_allocator)
00055 {
00056 }
00057
00058
00059
00060 ACE_INLINE
00061 TAO_EC_Shutdown_Task_Command::
00062 TAO_EC_Shutdown_Task_Command (ACE_Allocator *mb_allocator)
00063 : TAO_EC_Dispatch_Command (mb_allocator)
00064 {
00065 }
00066
00067
00068
00069 ACE_INLINE
00070 TAO_EC_Push_Command::TAO_EC_Push_Command (
00071 TAO_EC_ProxyPushSupplier* proxy,
00072 RtecEventComm::PushConsumer_ptr consumer,
00073 RtecEventComm::EventSet& event,
00074 ACE_Data_Block* data_block,
00075 ACE_Allocator *mb_allocator)
00076 : TAO_EC_Dispatch_Command (data_block, mb_allocator),
00077 proxy_ (proxy),
00078 consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer))
00079
00080 {
00081
00082
00083
00084
00085
00086
00087 CORBA::ULong maximum = event.maximum ();
00088 CORBA::ULong length = event.length ();
00089 RtecEventComm::Event* buffer = event.get_buffer (1);
00090 event_.replace (maximum, length, buffer, 1);
00091
00092 this->proxy_->_incr_refcnt ();
00093 }
00094
00095 TAO_END_VERSIONED_NAMESPACE_DECL