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 namespace OpenDDS { 00016 namespace DCPS { 00017 00018 class OpenDDS_Multicast_Export BestEffortSession 00019 : public MulticastSession { 00020 public: 00021 BestEffortSession(ACE_Reactor* reactor, 00022 ACE_thread_t owner, 00023 MulticastDataLink* link, 00024 MulticastPeer remote_peer); 00025 00026 virtual bool check_header(const TransportHeader& header); 00027 virtual void record_header_received(const TransportHeader& header); 00028 00029 virtual bool ready_to_deliver(const TransportHeader& header, 00030 const ReceivedDataSample& data); 00031 00032 virtual bool start(bool active, bool acked); 00033 virtual bool is_reliable() { return false;} 00034 00035 private: 00036 SequenceNumber expected_; 00037 }; 00038 00039 } // namespace DCPS 00040 } // namespace OpenDDS 00041 00042 #endif /* DCPS_BESTEFFORTSESSION_H */