00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef DCPS_BESTEFFORTSESSION_H 00009 #define DCPS_BESTEFFORTSESSION_H 00010 00011 #include "Multicast_Export.h" 00012 00013 #include "MulticastSession.h" 00014 00015 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 namespace OpenDDS { 00018 namespace DCPS { 00019 00020 class OpenDDS_Multicast_Export BestEffortSession 00021 : public MulticastSession { 00022 public: 00023 BestEffortSession(ACE_Reactor* reactor, 00024 ACE_thread_t owner, 00025 MulticastDataLink* link, 00026 MulticastPeer remote_peer); 00027 00028 virtual bool check_header(const TransportHeader& header); 00029 virtual void record_header_received(const TransportHeader& header); 00030 00031 virtual bool ready_to_deliver(const TransportHeader& header, 00032 const ReceivedDataSample& data); 00033 00034 virtual bool start(bool active, bool acked); 00035 virtual bool is_reliable() { return false;} 00036 00037 private: 00038 SequenceNumber expected_; 00039 }; 00040 00041 } // namespace DCPS 00042 } // namespace OpenDDS 00043 00044 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00045 00046 #endif /* DCPS_BESTEFFORTSESSION_H */