RTPSessionPool(3)

πŸ“¦
version 2.0.9 Β· 4 versions
, in debian trixie, ubuntu noble, ubuntu questing

πŸ’– RTPSessionPool(3) β€” bestie edition πŸ’–

okay so this is a page from the Library Functions Manual, and the star of the show is RTPSessionPool. pull up a chair, grab a boba, we're doing this πŸ§‹βœ¨


✨ NAME ✨

RTPSessionPool β€” this class is a base class for classes that define a group of RTP sessions that will be served by one or more execution threads. it's giving "manager of a whole friend group" energy fr πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <pool.h>

Inherits RTPSessionBaseHandler.

Inherited by SingleRTPSessionPool.

🌸 Public Member Functions 🌸

  • RTPSessionPool ()
  • virtual ~RTPSessionPool ()
  • bool addSession (RTPSessionBase &session)
  • bool removeSession (RTPSessionBase &session)
  • size_t getPoolLength () const
  • virtual void startRunning ()=0
  • bool isActive ()

🫢 Public Member Functions inherited from RTPSessionBaseHandler 🫢

  • microtimeout_t getSchedulingTimeout (RTPSessionBase &s)
  • timeval getRTCPCheckInterval (RTPSessionBase &s)
  • size_t takeInDataPacket (RTPSessionBase &s)
  • size_t dispatchDataPacket (RTPSessionBase &s)
  • void controlReceptionService (RTPSessionBase &s)
  • void controlTransmissionService (RTPSessionBase &s)
  • SOCKET getDataRecvSocket (RTPSessionBase &s) const
  • SOCKET getControlRecvSocket (RTPSessionBase &s) const

πŸŽ€ Protected Types πŸŽ€

  • typedef std::list< SessionListElement * >::iterator PoolIterator

πŸ’œ Protected Member Functions πŸ’œ

  • void setActive ()
  • timeval getPoolTimeout ()
  • void setPoolTimeout (int sec, int usec)
  • void setPoolTimeout (struct timeval to)

🌈 Protected Attributes 🌈

  • std::list< SessionListElement * > sessionList
  • ThreadLock poolLock
  • fd_set recvSocketSet
  • SOCKET highestSocket

πŸ‘‘ DETAILED DESCRIPTION πŸ‘‘

This class is a base class for classes that define a group of RTP sessions that will be served by one or more execution threads.

Derived classes are responsible for serving each RTP session with a thread at least. (yes, at least β€” the bar is on the floor but it's there, no cap)

In order to use the RTP session 'pool' you just have to build RTPSessionBase objects for each RTP session (instead of RTPSession objects). Then, add the RTPSessionBase objects to an RTP session 'pool' and call startRunning() method of the session pool. that's it, that's the whole recipe, slay πŸ”₯

⭐ Author ⭐

  • Federico Montesino Pouzols fedemp@altern.org

🧚 MEMBER TYPEDEF DOCUMENTATION 🧚

typedef std::list<SessionListElement*>::iterator RTPSessionPool::PoolIterator [protected]

it's a typedef, it's protected, it's an iterator over a std::list of SessionListElement*. iconic behavior honestly.


πŸ’… CONSTRUCTOR & DESTRUCTOR DOCUMENTATION πŸ’…

  • RTPSessionPool::RTPSessionPool ()
  • virtual RTPSessionPool::~RTPSessionPool () [inline], [virtual]

🌸 MEMBER FUNCTION DOCUMENTATION 🌸

  • bool RTPSessionPool::addSession (RTPSessionBase & session)
  • size_t RTPSessionPool::getPoolLength () const
  • timeval RTPSessionPool::getPoolTimeout () [inline], [protected]
  • bool RTPSessionPool::isActive () [inline]
  • bool RTPSessionPool::removeSession (RTPSessionBase & session)
  • void RTPSessionPool::setActive () [inline], [protected]
  • void RTPSessionPool::setPoolTimeout (int sec, int usec) [inline], [protected]
  • void RTPSessionPool::setPoolTimeout (struct timeval to) [inline], [protected]
  • virtual void RTPSessionPool::startRunning () [pure virtual]
Implemented in SingleRTPSessionPool.

πŸ“ MEMBER DATA DOCUMENTATION πŸ“

  • SOCKET RTPSessionPool::highestSocket [protected]
  • ThreadLock RTPSessionPool::poolLock [mutable], [protected]
  • fd_set RTPSessionPool::recvSocketSet [protected]
  • std::list<SessionListElement*> RTPSessionPool::sessionList [protected]

πŸ¦‹ AUTHOR πŸ¦‹

Generated automatically by Doxygen for ccRTP from the source code.


and that's the whole page bestie, no notes, you ate πŸ’– mwah! this lil manual page came from ccRTP and it's dated RTPSessionPool(3) β€” see you in the next one, love u, bye! πŸŽ€βœ¨

πŸ“¦ where this page comes from