mirror of
https://github.com/LX3JL/xlxd.git
synced 2026-04-21 06:13:43 +00:00
to create StreamId, use random number generator instead of IP address
This commit is contained in:
parent
c3f444175b
commit
e091d2e666
2 changed files with 14 additions and 6 deletions
|
|
@ -67,6 +67,11 @@ bool CYsfProtocol::Init(void)
|
|||
// update time
|
||||
m_LastKeepaliveTime.Now();
|
||||
|
||||
// random number generator
|
||||
std::random_device rd;
|
||||
std::mt19937 mt(rd());
|
||||
m_Random = mt;
|
||||
|
||||
// done
|
||||
return ok;
|
||||
}
|
||||
|
|
@ -438,7 +443,7 @@ bool CYsfProtocol::IsValidDvHeaderPacket(const CIp &Ip, const CYSFFICH &Fich, co
|
|||
if ( Fich.getFI() == YSF_FI_HEADER )
|
||||
{
|
||||
// get stream id
|
||||
uint32 uiStreamId = IpToStreamId(Ip);
|
||||
uint32 uiStreamId = CreateStreamId();
|
||||
|
||||
// get header data
|
||||
CYSFPayload ysfPayload;
|
||||
|
|
@ -507,7 +512,7 @@ bool CYsfProtocol::IsValidDvFramePacket(const CIp &Ip, const CYSFFICH &Fich, con
|
|||
if ( Fich.getFI() == YSF_FI_COMMUNICATIONS )
|
||||
{
|
||||
// get stream id
|
||||
uint32 uiStreamId = IpToStreamId(Ip);
|
||||
uint32 uiStreamId = CreateStreamId();
|
||||
|
||||
// get DV frames
|
||||
uint8 ambe0[AMBEPLUS_SIZE];
|
||||
|
|
@ -564,7 +569,7 @@ bool CYsfProtocol::IsValidDvLastFramePacket(const CIp &Ip, const CYSFFICH &Fich,
|
|||
if ( Fich.getFI() == YSF_FI_TERMINATOR )
|
||||
{
|
||||
// get stream id
|
||||
uint32 uiStreamId = IpToStreamId(Ip);
|
||||
uint32 uiStreamId = CreateStreamId();
|
||||
|
||||
// get DV frames
|
||||
{
|
||||
|
|
@ -927,9 +932,9 @@ bool CYsfProtocol::IsValidwirexPacket(const CBuffer &Buffer, CYSFFICH *Fich, CCa
|
|||
|
||||
|
||||
// uiStreamId helpers
|
||||
uint32 CYsfProtocol::IpToStreamId(const CIp &ip) const
|
||||
uint32 CYsfProtocol::CreateStreamId(void) const
|
||||
{
|
||||
return ip.GetAddr() ^ (uint32)(MAKEDWORD(ip.GetPort(), ip.GetPort()));
|
||||
return m_Random();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ protected:
|
|||
bool IsValidwirexPacket(const CBuffer &, CYSFFICH *, CCallsign *, int *, int*);
|
||||
|
||||
// uiStreamId helpers
|
||||
uint32 IpToStreamId(const CIp &) const;
|
||||
uint32 CreateStreamId(void) const;
|
||||
|
||||
// debug
|
||||
bool DebugTestDecodePacket(const CBuffer &);
|
||||
|
|
@ -128,6 +128,9 @@ protected:
|
|||
// for queue header caches
|
||||
std::array<CYsfStreamCacheItem, NB_OF_MODULES> m_StreamsCache;
|
||||
|
||||
// random number generator
|
||||
mutable std::mt19937 m_Random;
|
||||
|
||||
// for wires-x
|
||||
CWiresxCmdHandler m_WiresxCmdHandler;
|
||||
unsigned char m_seqNo;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue