16 #include <nn/pia/transport/transport_Definitions.h>
18 #include <nn/pia/common/common_FixedString.h>
19 #include <nn/pia/common/common_StationAddress.h>
20 #include <nn/pia/common/common_PacketDefine.h>
21 #include <nn/pia/common/common_Time.h>
23 #include <nn/pia/transport/transport_SequenceIdController.h>
33 class StepSequenceJob;
48 class StationProtocol;
49 class StationProtocolReliable;
51 class ConnectStationJob;
52 class DisconnectStationJob;
53 class ProcessConnectionRequestJob;
54 class ReliableSlidingWindow;
63 friend class StationProtocolReliable;
66 static const uint32_t MaxDataSize = common::ProtocolMessgaePayloadSizeMax;
127 bool IsStartedUp()
const
129 return m_IsStartedUp;
143 return m_StationIndex;
197 return m_StationAddress;
210 m_StationAddress = addr;
220 ConnectStationJob* GetConnectStationJob(
void)
222 return m_pConnectStationJob;
232 const ConnectStationJob* GetConnectStationJob(
void)
const
234 return m_pConnectStationJob;
244 DisconnectStationJob* GetDisconnectStationJob(
void)
246 return m_pDisconnectStationJob;
256 const DisconnectStationJob* GetDisconnectStationJob(
void)
const
258 return m_pDisconnectStationJob;
268 ProcessConnectionRequestJob* GetProcessConnectionRequestJob(
void)
270 return m_pProcessConnectionRequestJob;
279 const ProcessConnectionRequestJob* GetProcessConnectionRequestJob(
void)
const
281 return m_pProcessConnectionRequestJob;
292 return &m_SequenceIdController;
303 return &m_SequenceIdController;
312 uint8_t GetReceivingConnectionId(
void)
const
314 return m_RecvConnectionId;
324 void SetReceivingConnectionId(uint8_t
id)
326 m_RecvConnectionId = id;
340 return m_StationState;
353 m_StationState = state;
429 int32_t
GetRtt(
void)
const;
446 int32_t
GetRtt(uint32_t samplingNum)
const;
458 int32_t GetLatestRtt(
void)
const;
468 void ResetRttMinMax();
481 int GetRttMin()
const;
494 int GetRttMax()
const;
576 StationProtocol* GetStationProtocol(
void)
578 return m_pStationProtocol;
590 const StationProtocol* GetStationProtocol(
void)
const
592 return m_pStationProtocol;
605 void SetLatestPacketSentTime(
const common::Time& t)
607 m_LatestPacketSentTime = t;
620 const common::Time& GetLatestPacketSentTime(
void)
const
622 return m_LatestPacketSentTime;
635 void SetLatestPacketReceivedTime(
const common::Time& t)
637 m_LatestPacketReceivedTime = t;
651 const common::Time& GetLatestPacketReceivedTime(
void)
const
653 return m_LatestPacketReceivedTime;
671 virtual void Trace(uint64_t flag)
const;
763 static const uint32_t PlayerRegistrationKeySize = 64;
764 struct PlayerRegistrationKey
766 uint8_t data[PlayerRegistrationKeySize];
845 void SetConnectionRoute(
bool isDirect)
847 m_IsConnectionRouteDirect = isDirect;
856 bool IsConnectionRouteRelay()
const;
864 bool IsConnectionRouteDirect()
const;
870 bool GetDisconnectImmidiatelyFlag()
const
872 return m_IsDisconnectImmidiately;
879 void SetDisconnectImmidiatelyFlag(
bool flag)
881 m_IsDisconnectImmidiately = flag;
892 common::StationAddress m_StationAddress;
896 ReliableSlidingWindow* m_pReliableSlidingWindow;
897 StationProtocol* m_pStationProtocol;
898 RttProtocol* m_pRttProtocol;
899 ConnectStationJob* m_pConnectStationJob;
900 DisconnectStationJob* m_pDisconnectStationJob;
901 ProcessConnectionRequestJob* m_pProcessConnectionRequestJob;
902 SequenceIdController m_SequenceIdController;
903 uint8_t m_RecvConnectionId;
905 bool m_IsConnectionRouteDirect;
907 common::Time m_LatestPacketSentTime;
908 common::Time m_LatestPacketReceivedTime;
910 bool m_IsDisconnectImmidiately;
912 uint8_t m_PlayerCount;
914 Station(
const Station&);
915 Station& operator=(
const Station&);