Skip to content

Commit 47470c5

Browse files
authored
Update tx.h
Support IPv6
1 parent afa664d commit 47470c5

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

tx.h

+34-35
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ class TransmissionBlock
1313
{
1414
public:
1515
TransmissionSession* const p_Session;
16-
const u08 m_BlockSize;
17-
const u08 m_TransmissionMode;
18-
const u16 m_BlockSequenceNumber;
19-
const u16 m_RetransmissionRedundancy;
20-
u16 m_LargestOriginalPacketSize;
21-
u08 m_TransmissionCount;
16+
const uint8_t m_BlockSize;
17+
const uint8_t m_TransmissionMode;
18+
const uint16_t m_BlockSequenceNumber;
19+
const uint16_t m_RetransmissionRedundancy;
20+
uint16_t m_LargestOriginalPacketSize;
21+
uint8_t m_TransmissionCount;
2222

23-
u08 m_RemedyPacketBuffer[Parameter::MAXIMUM_BUFFER_SIZE];
24-
std::vector< std::unique_ptr< u08[] > > m_OriginalPacketBuffer;
23+
uint8_t m_RemedyPacketBuffer[Parameter::MAXIMUM_BUFFER_SIZE];
24+
std::vector< std::unique_ptr< uint8_t[] > > m_OriginalPacketBuffer;
2525

2626
TransmissionBlock() = delete;
2727
TransmissionBlock(const TransmissionBlock&) = delete;
@@ -32,26 +32,25 @@ class TransmissionBlock
3232
TransmissionBlock& operator=(const TransmissionBlock&) = delete;
3333
TransmissionBlock& operator=(TransmissionBlock&&) = delete;
3434

35-
const u16 AckIndex();
36-
bool Send(u08 *buffer, u16 buffersize/*, bool reqack*/);
35+
const uint16_t AckIndex();
36+
bool Send(uint8_t *buffer, uint16_t buffersize/*, bool reqack*/);
3737
void Retransmission();
3838
};
3939

4040
class TransmissionSession
4141
{
4242
public:
4343
Transmission* const c_Transmission;
44-
const s32 c_Socket;
45-
const u32 c_IPv4;
46-
const u16 c_Port;
44+
const int32_t c_Socket;
45+
const DataStructures::AddressType c_Addr;
4746
std::atomic<bool> m_IsConnected;
48-
std::atomic<u16> m_MinBlockSequenceNumber;
49-
std::atomic<u16> m_MaxBlockSequenceNumber;
47+
std::atomic<uint16_t> m_MinBlockSequenceNumber;
48+
std::atomic<uint16_t> m_MaxBlockSequenceNumber;
5049
std::atomic<bool> m_AckList[Parameter::MAXIMUM_NUMBER_OF_CONCURRENT_RETRANSMISSION*2];
51-
u16 m_RetransmissionRedundancy;
52-
u16 m_RetransmissionInterval;
53-
u08 m_TransmissionMode;
54-
u08 m_BlockSize;
50+
uint16_t m_RetransmissionRedundancy;
51+
uint16_t m_RetransmissionInterval;
52+
uint8_t m_TransmissionMode;
53+
uint8_t m_BlockSize;
5554
SingleShotTimer<1, 1> m_Timer;
5655
enum TaskPriority
5756
{
@@ -66,10 +65,10 @@ class TransmissionSession
6665
TransmissionBlock* p_TransmissionBlock;
6766
std::atomic<unsigned long> m_ConcurrentRetransmissions;
6867

69-
TransmissionSession(Transmission* const transmission, s32 Socket, u32 IPv4, u16 Port,
68+
TransmissionSession(Transmission* const transmission, int32_t Socket, const DataStructures::AddressType Addr,
7069
Parameter::TRANSMISSION_MODE TransmissionMode = Parameter::TRANSMISSION_MODE::RELIABLE_TRANSMISSION_MODE,
7170
Parameter::BLOCK_SIZE BlockSize = Parameter::BLOCK_SIZE::BLOCK_SIZE_04,
72-
u16 RetransmissionRedundancy = 0);
71+
uint16_t RetransmissionRedundancy = 0);
7372
TransmissionSession() = delete;
7473
TransmissionSession(const TransmissionSession&) = delete;
7574
TransmissionSession(TransmissionSession&&) = delete;
@@ -79,33 +78,33 @@ class TransmissionSession
7978

8079
void ChangeTransmissionMode(const Parameter::TRANSMISSION_MODE TransmissionMode);
8180
void ChangeBlockSize(const Parameter::BLOCK_SIZE BlockSize);
82-
void ChangeRetransmissionRedundancy(const u16 RetransmissionRedundancy);
83-
void ChangeSessionParameter(const Parameter::TRANSMISSION_MODE TransmissionMode, const Parameter::BLOCK_SIZE BlockSize, const u16 RetransmissionRedundancy);
81+
void ChangeRetransmissionRedundancy(const uint16_t RetransmissionRedundancy);
82+
void ChangeSessionParameter(const Parameter::TRANSMISSION_MODE TransmissionMode, const Parameter::BLOCK_SIZE BlockSize, const uint16_t RetransmissionRedundancy);
8483
void SendPing();
85-
void UpdateRetransmissionInterval(const u16 rtt);
84+
void UpdateRetransmissionInterval(const uint16_t rtt);
8685
};
8786

8887
class Transmission
8988
{
9089
private:
91-
const s32 c_Socket;
92-
AVLTree< DataStructures::IPv4PortKey , TransmissionSession* > m_Sessions;
90+
const int32_t c_Socket;
91+
AVLTree< DataStructures::SessionKey , TransmissionSession* > m_Sessions;
9392
std::mutex m_Lock;
9493
public:
95-
Transmission(s32 Socket);
94+
Transmission(int32_t Socket);
9695
~Transmission();
9796
public:
98-
bool Connect(u32 IPv4, u16 Port,
99-
u32 ConnectionTimeout,
97+
bool Connect(const DataStructures::AddressType Addr,
98+
uint32_t ConnectionTimeout,
10099
Parameter::TRANSMISSION_MODE TransmissionMode,
101100
Parameter::BLOCK_SIZE BlockSize,
102-
u16 RetransmissionRedundancy = 0);
103-
bool Send(u32 IPv4, u16 Port, u08* buffer, u16 buffersize/*, bool reqack*/);
104-
bool Flush(u32 IPv4, u16 Port);
105-
void WaitUntilTxIsCompleted(u32 IPv4, u16 Port);
106-
bool Disconnect(u32 IPv4, u16 Port);
101+
uint16_t RetransmissionRedundancy = 0);
102+
bool Send(const DataStructures::AddressType Addr, uint8_t* buffer, uint16_t buffersize/*, bool reqack*/);
103+
bool Flush(const DataStructures::AddressType Addr);
104+
void WaitUntilTxIsCompleted(const DataStructures::AddressType Addr);
105+
bool Disconnect(const DataStructures::AddressType Addr);
107106
public:
108-
void RxHandler(u08* buffer, u16 size, const sockaddr_in * const sender_addr, const u32 sender_addr_len);
107+
void RxHandler(uint8_t* buffer, uint16_t size, const sockaddr* const sender_addr, const uint32_t sender_addr_len);
109108
};
110109

111110
}

0 commit comments

Comments
 (0)