00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OPENDDS_DCPS_THREADSYNCHRESOURCE_H
00009 #define OPENDDS_DCPS_THREADSYNCHRESOURCE_H
00010
00011 #include "dds/DCPS/dcps_export.h"
00012 #include "ace/Time_Value.h"
00013
00014 namespace OpenDDS {
00015 namespace DCPS {
00016
00017 class OpenDDS_Dcps_Export ThreadSynchResource {
00018 public:
00019
00020 virtual ~ThreadSynchResource();
00021
00022 virtual int wait_to_unclog();
00023
00024 protected:
00025
00026 virtual void notify_lost_on_backpressure_timeout() = 0;
00027
00028 ThreadSynchResource(ACE_HANDLE handle);
00029 ACE_HANDLE handle_;
00030 ACE_Time_Value* timeout_;
00031 };
00032
00033 }
00034 }
00035
00036 #if defined (__ACE_INLINE__)
00037 #include "ThreadSynchResource.inl"
00038 #endif
00039
00040 #endif