8 #include "networktables2/server/ServerConnectionList.h"
9 #include "networktables2/server/ServerIncomingStreamMonitor.h"
18 ServerConnectionList::~ServerConnectionList()
20 connectionsLock.take();
27 connections.push_back(&connection);
33 std::vector<ServerConnectionAdapter*>::iterator connectionPosition = std::find(connections.begin(), connections.end(), &connectionAdapter);
34 if (connectionPosition != connections.end() && (*connectionPosition)==&connectionAdapter)
36 fprintf(stdout,
"[NT] Close: %p\n", (
void*)&connectionAdapter);
38 connections.erase(connectionPosition);
39 m_Factory->close(&connectionAdapter);
48 while(connections.size() > 0)
50 close(*connections[0],
true);
57 for(
unsigned int i = 0; i < connections.size(); ++i)
59 connections[i]->offerOutgoingAssignment(entry);
65 for(
unsigned int i = 0; i < connections.size(); ++i)
67 connections[i]->offerOutgoingUpdate(entry);
70 void ServerConnectionList::flush()
73 for(
unsigned int i = 0; i < connections.size(); ++i)
75 connections[i]->flush();
78 void ServerConnectionList::ensureAlive()
81 for(
unsigned int i = 0; i < connections.size(); ++i)
83 connections[i]->ensureAlive();
void close(ServerConnectionAdapter &connectionAdapter, bool closeStream)
void add(ServerConnectionAdapter &connection)