8 #ifndef OPENDDS_DCPS_TRANSPORT_FRAMEWORK_TRANSPORTRECEIVESTRATEGY_T_H 9 #define OPENDDS_DCPS_TRANSPORT_FRAMEWORK_TRANSPORTRECEIVESTRATEGY_T_H 34 static const size_t BUFFER_LOW_WATER = 4096;
40 static const size_t MESSAGE_BLOCKS = 1000;
41 static const size_t DATA_BLOCKS = 100;
49 template<
typename TH = TransportHeader,
typename DSH = DataSampleHeader>
59 int handle_dds_input(ACE_HANDLE fd);
64 virtual void relink(
bool do_suspend =
true);
68 const TH& received_header()
const;
69 TH& received_header();
73 const DSH& received_sample_header()
const;
74 DSH& received_sample_header();
82 size_t receive_buffers_count = RECEIVE_BUFFERS);
85 virtual ssize_t receive_bytes(iovec iov[],
92 virtual bool check_header(
const TH&
header);
95 virtual bool check_header(
const DSH& header);
118 virtual int start_i() = 0;
121 virtual void stop_i() = 0;
136 size_t successor_index(
size_t index)
const;
138 void update_buffer_index(
bool& done);
185 #if defined (__ACE_INLINE__) 189 #ifdef ACE_TEMPLATES_REQUIRE_SOURCE size_t pdu_remaining_
Amount of the current PDU that has not been processed yet.
TransportDataBlockAllocator db_allocator_
#define OpenDDS_Dcps_Export
virtual void finish_message()
size_t pdu_remaining() const
DSH data_sample_header_
Current data sample header.
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
Holds a data sample received by the transport.
size_t receive_sample_remaining_
Bytes remaining in the current DataSample.
~ScopedHeaderProcessing()
ACE_Lock_Adapter< ACE_SYNCH_MUTEX > receive_lock_
Locking strategy for the allocators.
ScopedHeaderProcessing(TransportReceiveStrategy &trs)
TransportMessageBlockAllocator mb_allocator_
bool gracefully_disconnected_
Flag indicates if the GRACEFUL_DISCONNECT message is received.
virtual void end_transport_header_processing()
End Current Transport Header Processing.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual void begin_transport_header_processing()
Begin Current Transport Header Processing.
size_t buffer_index_
Current receive buffer index in use.
TransportDataAllocator data_allocator_
TH receive_transport_header_
Current receive TransportHeader.
typedef OPENDDS_VECTOR(ActionConnectionRecord) ConnectionRecords
ACE_Message_Block * payload_
The Internal API and Implementation of OpenDDS.
TransportReceiveStrategy & trs_