Twitch SDK (Internal)
Classes | Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
ttv::broadcast::StreamStats Class Reference

#include <streamstats.h>

Classes

class  IListener
 

Public Types

enum  StatType { StatType::RtmpState, StatType::RtmpTotalBytesSent, StatType::TotalVideoPacketsSent }
 

Public Member Functions

void AddListener (const std::shared_ptr< IListener > &listener)
 
void RemoveListener (const std::shared_ptr< IListener > &listener)
 
void Flush ()
 
void Add (StatType type, uint64_t data)
 

Private Types

typedef std::pair< StatType, uint64_t > value_t
 

Private Attributes

ConcurrentQueue< value_tmQueue
 
EventSource< IListenermListeners
 

Member Typedef Documentation

◆ value_t

typedef std::pair<StatType, uint64_t> ttv::broadcast::StreamStats::value_t
private

Member Enumeration Documentation

◆ StatType

Enumerator
RtmpState 

The value should be interpretted as RtmpState.

RtmpTotalBytesSent 

The total number of bytes that have been sent over the socket via RTMP.

TotalVideoPacketsSent 

The total number of video packets sent.

Member Function Documentation

◆ Add()

void ttv::broadcast::StreamStats::Add ( StatType  type,
uint64_t  data 
)

Reports a new metric instance. This can be called from any thread.

◆ AddListener()

void ttv::broadcast::StreamStats::AddListener ( const std::shared_ptr< IListener > &  listener)

Must be called from the same thread as Flush().

◆ Flush()

void ttv::broadcast::StreamStats::Flush ( )

Flushes all stats in the registered listeners.

◆ RemoveListener()

void ttv::broadcast::StreamStats::RemoveListener ( const std::shared_ptr< IListener > &  listener)

Must be called from the same thread as Flush().

Member Data Documentation

◆ mListeners

EventSource<IListener> ttv::broadcast::StreamStats::mListeners
private

◆ mQueue

ConcurrentQueue< value_t > ttv::broadcast::StreamStats::mQueue
private

The documentation for this class was generated from the following file: