You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.0 KiB
32 lines
1.0 KiB
//====== Copyright Valve Corporation, All rights reserved. =======
|
|
#ifndef GOTV_HTTP_STREAM_HDR
|
|
#define GOTV_HTTP_STREAM_HDR
|
|
|
|
#include "tier1/utlhashtable.h"
|
|
|
|
struct GotvHttpStreamId_t
|
|
{
|
|
GotvHttpStreamId_t()
|
|
{
|
|
m_nMatchId = 0;
|
|
m_nInstanceId = 0;
|
|
}
|
|
uint64 m_nMatchId ;
|
|
uint m_nInstanceId;
|
|
|
|
bool operator < ( const GotvHttpStreamId_t &right ) const
|
|
{
|
|
return m_nMatchId == right.m_nMatchId ? m_nInstanceId < right.m_nInstanceId : m_nMatchId < right.m_nMatchId;
|
|
}
|
|
|
|
bool operator == ( const GotvHttpStreamId_t &right ) const
|
|
{
|
|
return m_nMatchId == right.m_nMatchId && m_nInstanceId == right.m_nInstanceId;
|
|
}
|
|
};
|
|
|
|
|
|
// the match id is already a hash (guid) consisting of a random upper uint32 and a counter in lower uint32. So we could actually conceivably use the lower uint32
|
|
template <> struct DefaultHashFunctor< GotvHttpStreamId_t > { unsigned int operator()( const GotvHttpStreamId_t &id ) const { return Mix64HashFunctor().operator()( (id.m_nMatchId << 1) + id.m_nInstanceId ); } };
|
|
|
|
#endif // DEMO_STREAM_HDR
|