16 #include <nn/pia/transport/transport_Definitions.h>
18 #include <nn/pia/common/common_Types.h>
19 #include <nn/pia/transport/transport_Protocol.h>
21 #include <nn/pia/transport/transport_ProtocolEvent.h>
30 class ReliableSlidingWindow;
63 PIA_PROTOCOL_TYPE_INFO(ProtocolTypeReliable);
119 virtual void CleanupWithStationAddress();
129 virtual Result Dispatch();
144 virtual Result UpdateProtocolEvent(
const transport::ProtocolEvent& event);
280 typedef int32_t (*ResendTimeCallback)(int32_t rtt, int32_t resendCount);
290 static ResendTimeCallback RegisterResendTimeCallback(ResendTimeCallback cb);
299 virtual void Trace(uint64_t flag)
const;
301 #if NN_PIA_EXPERIMENT_RELIABLE_DETAIL_INFO
302 void PrintDebugInfo(
void)
const;
303 void ClearAllResendCount(
void);
304 uint32_t GetAllResendCount(
void)
const;
308 ReliableSlidingWindow* GetSlidingWindow(
StationIndex stationId);
309 const ReliableSlidingWindow* GetSlidingWindow(
StationIndex stationId)
const;
311 Result ReceiveImpl(
StationIndex* pSourceStationIndex,
void* pBuffer, uint32_t* pDataSize, uint32_t bufferSize,
bool bCheckStationIdTable);
315 uint32_t m_MaxConnections;
316 ReliableSlidingWindow* m_paSlidingWindow;
317 uint32_t m_DispatchSlidingWindowIdx;
319 uint32_t m_ThroughputLimit;
320 uint32_t m_RestThroughputLimit;
322 static ResendTimeCallback s_pfResendTimeCallback;