class RemoteUser

one record per each remote user; Note that the broadcast stream from channel and broadcast channels output from this stream is the user too

Public Fields

Sockaddr socketAddr
unique user id = socket
int outputSocket
socket to write data to this user, ( write-only socket)
typedef map < Sockaddr, OutputDestination * > outputSocketsT
outputSocketsT outputSockets
if user is actually the broadcast destination - it's outputSocket remains -1, but the vector of outputSockets is used
int priority
queue < JobElem > jobs
queue of jobs to do
int loadDataChunk
what chunk of data to read from disk per call
queue < PacketHeader * > dataToSend
allocate a vector of buffers to send to user
unsigned sequence
sequence number is attached to user and is not related to jobs
static const unsigned maxPacketLength

Public Methods

RemoteUser( const Sockaddr &addr )
~RemoteUser()
void cleanup_jobs( stack< PacketHeader * > &inusedBuffers )
cleanup everything for this user
void add_broadcast_channel( const Sockaddr &addr )
Only for the broadcast fake user

Documentation

one record per each remote user; Note that the broadcast stream from channel and broadcast channels output from this stream is the user too
Sockaddr socketAddr
unique user id = socket

int outputSocket
socket to write data to this user, ( write-only socket)

typedef map < Sockaddr, OutputDestination * > outputSocketsT

outputSocketsT outputSockets
if user is actually the broadcast destination - it's outputSocket remains -1, but the vector of outputSockets is used. For regular user outputSockets map is empty

int priority

queue < JobElem > jobs
queue of jobs to do. For broadcast user it's empty

int loadDataChunk
what chunk of data to read from disk per call

queue < PacketHeader * > dataToSend
allocate a vector of buffers to send to user. Each block starts with PacketHeader. We assume that MPEG stream can be broken on parts, each of them beginning at least of 6 times 0xff ( or more, i don't know? )

unsigned sequence
sequence number is attached to user and is not related to jobs

static const unsigned maxPacketLength

RemoteUser( const Sockaddr &addr )

~RemoteUser()

void cleanup_jobs( stack< PacketHeader * > &inusedBuffers )
cleanup everything for this user

void add_broadcast_channel( const Sockaddr &addr )
Only for the broadcast fake user


This class has no child classes.

alphabetic index html hierarchy of classes or java



This page was generated with the help of DOC++.