mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
First version of the SOurce SDK 2013
This commit is contained in:
76
public/inetchannelinfo.h
Normal file
76
public/inetchannelinfo.h
Normal file
@ -0,0 +1,76 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $Workfile: $
|
||||
// $Date: $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// $Log: $
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#if !defined( INETCHANNELINFO_H )
|
||||
#define INETCHANNELINFO_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#define FLOW_OUTGOING 0
|
||||
#define FLOW_INCOMING 1
|
||||
#define MAX_FLOWS 2 // in & out
|
||||
|
||||
class INetChannelInfo
|
||||
{
|
||||
public:
|
||||
|
||||
enum {
|
||||
GENERIC = 0, // must be first and is default group
|
||||
LOCALPLAYER, // bytes for local player entity update
|
||||
OTHERPLAYERS, // bytes for other players update
|
||||
ENTITIES, // all other entity bytes
|
||||
SOUNDS, // game sounds
|
||||
EVENTS, // event messages
|
||||
USERMESSAGES, // user messages
|
||||
ENTMESSAGES, // entity messages
|
||||
VOICE, // voice data
|
||||
STRINGTABLE, // a stringtable update
|
||||
MOVE, // client move cmds
|
||||
STRINGCMD, // string command
|
||||
SIGNON, // various signondata
|
||||
TOTAL, // must be last and is not a real group
|
||||
};
|
||||
|
||||
virtual const char *GetName( void ) const = 0; // get channel name
|
||||
virtual const char *GetAddress( void ) const = 0; // get channel IP address as string
|
||||
virtual float GetTime( void ) const = 0; // current net time
|
||||
virtual float GetTimeConnected( void ) const = 0; // get connection time in seconds
|
||||
virtual int GetBufferSize( void ) const = 0; // netchannel packet history size
|
||||
virtual int GetDataRate( void ) const = 0; // send data rate in byte/sec
|
||||
|
||||
virtual bool IsLoopback( void ) const = 0; // true if loopback channel
|
||||
virtual bool IsTimingOut( void ) const = 0; // true if timing out
|
||||
virtual bool IsPlayback( void ) const = 0; // true if demo playback
|
||||
|
||||
virtual float GetLatency( int flow ) const = 0; // current latency (RTT), more accurate but jittering
|
||||
virtual float GetAvgLatency( int flow ) const = 0; // average packet latency in seconds
|
||||
virtual float GetAvgLoss( int flow ) const = 0; // avg packet loss[0..1]
|
||||
virtual float GetAvgChoke( int flow ) const = 0; // avg packet choke[0..1]
|
||||
virtual float GetAvgData( int flow ) const = 0; // data flow in bytes/sec
|
||||
virtual float GetAvgPackets( int flow ) const = 0; // avg packets/sec
|
||||
virtual int GetTotalData( int flow ) const = 0; // total flow in/out in bytes
|
||||
virtual int GetSequenceNr( int flow ) const = 0; // last send seq number
|
||||
virtual bool IsValidPacket( int flow, int frame_number ) const = 0; // true if packet was not lost/dropped/chocked/flushed
|
||||
virtual float GetPacketTime( int flow, int frame_number ) const = 0; // time when packet was send
|
||||
virtual int GetPacketBytes( int flow, int frame_number, int group ) const = 0; // group size of this packet
|
||||
virtual bool GetStreamProgress( int flow, int *received, int *total ) const = 0; // TCP progress if transmitting
|
||||
virtual float GetTimeSinceLastReceived( void ) const = 0; // get time since last recieved packet in seconds
|
||||
virtual float GetCommandInterpolationAmount( int flow, int frame_number ) const = 0;
|
||||
virtual void GetPacketResponseLatency( int flow, int frame_number, int *pnLatencyMsecs, int *pnChoke ) const = 0;
|
||||
virtual void GetRemoteFramerate( float *pflFrameTime, float *pflFrameTimeStdDeviation ) const = 0;
|
||||
|
||||
virtual float GetTimeoutSeconds() const = 0;
|
||||
};
|
||||
|
||||
#endif // INETCHANNELINFO_H
|
Reference in New Issue
Block a user