COVISE Core
Public Member Functions | Private Attributes | Friends | List of all members
covise::ConnectionList Class Reference

#include <covise_connect.h>

Collaboration diagram for covise::ConnectionList:
Collaboration graph
[legend]

Public Member Functions

 ConnectionList ()
 
 ConnectionList (ServerConnection *)
 
 ConnectionList (const ConnectionList &)=delete
 
 ConnectionList (ConnectionList &&)=delete
 
ConnectionListoperator= (const ConnectionList &)=delete
 
ConnectionListoperator= (ConnectionList &&)=delete
 
 ~ConnectionList ()
 
template<typename Conn , typename ... Args>
const Conn * addNewConn (Args &&...args)
 
template<typename Conn , typename ... Args>
const Conn * tryAddNewListeningConn (Args &&...args)
 
template<typename Conn , typename ... Args>
const Conn * tryAddNewConnectedConn (Args &&...args)
 
void add_open_conn (ServerConnection *c)
 
const Connectionadd (std::unique_ptr< Connection > &&conn)
 
void remove (const Connection *c)
 
const Connectionget_last () const
 
const Connectionwait_for_input ()
 
const Connectioncheck_for_input (float time=0.0)
 
void reset ()
 
const Connectionnext ()
 
size_t count ()
 
void addRemoveNotice (const Connection *conn, const std::function< void(void)> callback)
 

Private Attributes

long curidx = -1
 
std::vector< std::unique_ptr< Connection > > connlist
 
std::map< const Connection *, std::vector< std::function< void(void)> > > m_onRemoveCallbacks
 
fd_set fdvar
 
int maxfd
 
ServerConnectionopen_sock
 

Friends

struct ConnectionAdder
 

Constructor & Destructor Documentation

◆ ConnectionList() [1/4]

ConnectionList::ConnectionList ( )

◆ ConnectionList() [2/4]

ConnectionList::ConnectionList ( ServerConnection o_s)

◆ ConnectionList() [3/4]

covise::ConnectionList::ConnectionList ( const ConnectionList )
delete

◆ ConnectionList() [4/4]

covise::ConnectionList::ConnectionList ( ConnectionList &&  )
delete

◆ ~ConnectionList()

ConnectionList::~ConnectionList ( )

Member Function Documentation

◆ add()

const Connection * ConnectionList::add ( std::unique_ptr< Connection > &&  conn)

◆ add_open_conn()

void ConnectionList::add_open_conn ( ServerConnection c)

◆ addNewConn()

template<typename Conn , typename ... Args>
const Conn * covise::ConnectionList::addNewConn ( Args &&...  args)
inline

◆ addRemoveNotice()

void ConnectionList::addRemoveNotice ( const Connection conn,
const std::function< void(void)>  callback 
)

◆ check_for_input()

const Connection * ConnectionList::check_for_input ( float  time = 0.0)

◆ count()

size_t ConnectionList::count ( )

◆ get_last()

const Connection * ConnectionList::get_last ( ) const

◆ next()

const Connection * ConnectionList::next ( void  )

◆ operator=() [1/2]

ConnectionList & covise::ConnectionList::operator= ( ConnectionList &&  )
delete

◆ operator=() [2/2]

ConnectionList & covise::ConnectionList::operator= ( const ConnectionList )
delete

◆ remove()

void ConnectionList::remove ( const Connection c)

◆ reset()

void ConnectionList::reset ( void  )

◆ tryAddNewConnectedConn()

template<typename Conn , typename ... Args>
const Conn * covise::ConnectionList::tryAddNewConnectedConn ( Args &&...  args)
inline

◆ tryAddNewListeningConn()

template<typename Conn , typename ... Args>
const Conn * covise::ConnectionList::tryAddNewListeningConn ( Args &&...  args)
inline

◆ wait_for_input()

const Connection * ConnectionList::wait_for_input ( )

Wait for input infinitely - replaced by loop with timeouts

  • check every 10 sec against hang aw 04/2000

Friends And Related Function Documentation

◆ ConnectionAdder

friend struct ConnectionAdder
friend

Member Data Documentation

◆ connlist

std::vector<std::unique_ptr<Connection> > covise::ConnectionList::connlist
private

◆ curidx

long covise::ConnectionList::curidx = -1
private

◆ fdvar

fd_set covise::ConnectionList::fdvar
private

◆ m_onRemoveCallbacks

std::map<const Connection *, std::vector < std::function<void(void)> > > covise::ConnectionList::m_onRemoveCallbacks
private

◆ maxfd

int covise::ConnectionList::maxfd
private

◆ open_sock

ServerConnection* covise::ConnectionList::open_sock
private

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